cakePHP1.2 アソシーエションでの検索条件指定

Twitter ツイート Hatena Bookmark ブックマーク

なんかタイトルからして表現しづらいのですが、会社ではまっていたのでちょいとメモ。
たとえば、今使おうとしているモデル(A)からモデル(B)にbelongsToして、そのモデル(B)からモデル(C)にbelognsToをしていた場合に、モデルAのfindするとして、findの検索条件にモデル(C)の条件を指定したい場合。

普通に「recursive」を2とかにしておいて、conditionsに「C.id > 5」とか書いていたら、普通にC.idがないとかMySQLエラーがでて途方にくれてました。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
<?php
class HogeController extends AppController{
    function index(){
        $condtions = array('C.id > ' => 5);
        $data = $this->A->find('all',array('condtions' => $condtions));
        pr($data);
        exit();
    }
}
?>

そんな時みつけた、「Containable

詳しい説明は上のリンクを見てくださいw

[追記]
でもどうやらorderを指定しても、自分の思うようには動作しませんでした。
後日詳しいことを書きます。

comments powered by Disqus
Built with Hugo
テーマ StackJimmy によって設計されています。