私はcakephp 2.1.1を使用しています。これは私のテーブルの関連付けです: x hasmany y hasmany z hasmany w.
すべてが正しくセットアップされていると思いますが、このクエリを作成すると:
$conditions = array(
'contain' => array(
'y' => array (
'z' => array(
'w'=> array(
'conditions' => array('col>=' => $q))
)
)
));
$this->loadmodel('x');
$o=$this->x->find('all',$conditions);//array(
debug($o);
欲しい結果がありません。テーブル x のみがフェッチされます。なぜ?たとえば、これは他のモデルと同様の私のモデル x php コードです。
<? php
class x extends AppModel
{
var $name='x';
public $actsAs = array('Containable');
public $hasMany = array( 'y');
}
おそらくcakephpバージョン?ありがとう!
info: 次のようなステートメントを作成したい:
select z.col1, y.col2, x.col3
from z, y, x, w
where w.col>= 3
and w.z_id = z.id
and z.y_id = y.id
and z.x_id = x.id