0

简而言之,Usershave many Posts,拥有且属于 many Tags

此外,Users拥有 many Recipes,拥有且属于 many 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');
4

1 回答 1

0

您可以使用以下可包含的行为。

$this->User->find('all', array('contain' => 'Ingredient'));

虽然如果您已经使用过recursive,并且如果您希望删除所有帖子数据,那么一个快速的解决方案是unbind您的帖子模型,如下所示。

$this->User->unbindModel(
    array('hasMany' => array('Post'))
);
$this->User->find('all', array('recursive' => 2);
于 2013-01-06T05:49:13.437 回答