简而言之,Users
有许多Posts
,它们属于许多Tags
。
此外,Users
有许多Recipes
,其中包含许多Ingredients
。
$this->User->find('all'); // Yields one level, no associated Tags or Ingredients.
添加:
$this->User->find('all', array('recursive' => 2); // Yields two levels, all Tags and Ingredients
如果我只想递归一个字段,即Recipe
,那么我得到所有的Ingredients
怎么办?
看来我想使用contain
行为,但这似乎没有效果。如果我删除recursive
行为,我只会得到一个级别的数据。
我的模型中也包含此内容。
public $actsAs = array('Containable');
答案 0 :(得分:0)
您可以使用Containable行为,如下所示。
$this->User->find('all', array('contain' => 'Ingredient'));
虽然您已经使用过recursive
,但如果您想删除所有帖子数据,快速解决方案就是unbind
您的帖子模型,如下所示。
$this->User->unbindModel(
array('hasMany' => array('Post'))
);
$this->User->find('all', array('recursive' => 2);