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

ということをやろうとして、conditionsをちょっと勘で書いてやっぱりダメ。

素直に検索してみると、どうやらそのままconditionsをあれこれいじってもダメらしい。


$this->モデル名->hasMany['関連モデル名']['conditions'] = '関連モデル名.フィールド名=1';
$res = $this->モデル->find('all',$conditions);

で動作確認が取れた。
※’関連モデル名.フィールド名=1’は例なので、ここに自分の検索条件。

ちなみに終わった後は、

$this->モデル->hasMany['関連モデル名']['conditions'] = null;

としておくらしい。

こちらを参考にさせていただきました。

実際に作っていくと、入門書ではカバーできなくなってきた。
「どうやって書くか」
は、何とかなるけど、今の段階では
「どのように書くのがベターか」
までは、判断できない。

まだまだ知らない、もっとスムーズなやり方もあるはず。

まあ、今のサイトは自分・勉強用だからグダグダ考えず経験と理解を深めながら、頑張らないと。

シェアする

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

フォローする