CakePHP:我可以使用containable在find()结果中包含来自同一表的记录吗?


CakePHP: Can I use containable to include records from the same table in find() results?

我的模型与它自己有一个hasMany关系,因为某些记录是同一表中其他记录的"父"。

我从控制器内部返回与$this->Model->find('all'…)相关的记录没有问题,但当我在不同的模型的控制器中使用它时,同样的事情不起作用。我相信这是一个可以控制的工作,但我不能让它工作。我没有看到错误,但是相关的记录没有出现(只有一个父)。

像这样设置你的模型,然后你应该能够使用可包含的行为

class MyModel extends AppModel {
  public $hasMany = array(
    'Children'=>array(
       'className'=>'MyModel',
       'foreignKey'=>'parent_id'
    )
  );
  public $belongsTo = array(
    'Parent'=>array(
       'className'=>'MyModel',
       'foreignKey'=>'parent_id'
    )
  );
}