CakePHP2.5にて、複数のモデルに検索をかけたいと思っています。
A→B→Cで結合しているモデルから、それぞれ任意のフィールドをLIKEで検索したいのですが、いい方法が見つかりません。
例えばContainableビヘイビアで、B・Cについての’conditions’=>array(’OR’)をAコントローラに記述すると、Column not found: 1054 Unknown column のエラーが出てしまいます。
Searchプラグインでも同様のエラーが出ます。
どなたか良い方法をご存知でしたらお教えください。
みんなの回答 5 件
記載が漏れていました。
アソシエーションはA→BがhasMany、B→CがbelongsToです。
質問内容がよくわからん
エラー内容から、単純に記述方法を間違ってると思われる。ちゃんと調べろ。ちなみにフィールド名は A.field みたいにテーブル名も含めといた方が無難。CakePHPのマニュアルはあんまりちゃんとしてないので、あちこちにあるTipsブログを探した方が解りやすい。
あ、質問読み返したが、AのモデルからCのフィールドは参照できないぞ。孫になるから。だから C.field を条件にしたらエラーになる。recursiveを設定したらできるんかな…。
make a record of…: [CakePHP] 子・孫まで。複数の入れ子になったモデルを連結して取得したい
http://satussy.blogspot.jp/2011/11/cakephp_30.htmlfindでjoin使えば?
関連するトピックス