0

つまり、Users多くPostsの を持ち、多くの に属しTagsます。

また、Usershave many Recipes、これは many を持ち、 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

1 つのフィールド、つまり だけを再帰したい場合はどうすればよいRecipeので、すべてのIngredients?

この動作を使用したいようですcontainが、これは効果がないようです。動作を削除すると、recursive1 レベルのデータしか得られません。

これも私のモデルに含めてください。

public $actsAs = array('Containable');
4

1 に答える 1

0

以下のようにContainable Behavior を使用できます。

$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 に答える