CakePHP更深层递归

时间:2012-08-24 20:08:57

标签: cakephp recursive-datastructures

我有以下问题。 我有以下关系: A-> B-> C-> d 与模型各自的关系。 我需要得到属于“A”的所有“D”

$this->A->B->C->D->find('all', array ('conditions' =>
    array('B.a_id' => $id)
));

但是得到b.a_id的错误。

我试过recursive = 2;

但我一直遇到同样的问题。

我做错了什么? PD:对不起,但我的英语不好

1 个答案:

答案 0 :(得分:0)

也许更好的想法是将模型A,B,C,D连接到控制器。

在您的控制器中:

var $uses = array('A', 'B', 'C', 'D');
$this->D->recursive = 2;
$result = $this->D->find('all', array ('conditions' => array('B.a_id' => $id)));

如果不是这样的话,试着找到所有的D然后在debbug $ result变量时创建条件:

$result = $this->D->find('all');
debug($result);
die;