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

July 22, 2009,
tags: cakephp php アソシエーション


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

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

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

<?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