hasManyでアソシエーションしたテーブルの中身を検索条件に その2

前回のようにやれば出来ることはわかったのだけど、それではconditionsを複数の条件にしたい場合はどうすればいいのだろう?

検索しても出てこないので、しばらく勘で書いてみると、運よく5回目のトライで動いた。

条件を配列にすればいいみたい。

$this->モデル名->hasMany[‘関連モデル名’][‘conditions’] = ‘関連モデル名.フィールド名=1’;

を、こんな感じで。

$hasManyCon = array( ‘関連モデル名.フィールド名A’ => 1 , ‘関連モデル名.フィールド名B’ => 2 );
$this->モデル名->hasMany[‘関連モデル名’][‘conditions’] = $hasManyCon ;

動作はしたけど、きちんとしたやり方かどうか分からないので、もう少し検証は必要。

別件だけど、関連付けたテーブルの情報が受け渡しされるので、ユーザーの情報まで一緒についてきてしまう。
ユーザーのテーブル内は全部暗号化してあるけど、それでも気持ちの良いものではない。
なので、viewにデータ渡す前にユーザーの情報だけ削除することにした。
この処理は、ユーザー情報が不要なところでは、全体的に入れていこう。

シェアする

  • このエントリーをはてなブックマークに追加

フォローする