我试图在任何地方找到这个,但我不能。这是我的问题:
让我们说我有这样的模型:
当我使用membershipsController
将所有成员资格发送到视图时,我只会举例$membership['Membership']['id']
或$membership['TeacherCourse']['id']
但不是$membership['TeacherCourse']['Teacher']['id']
...
这意味着我获得有关会员资格和教师课程的信息,因为它们直接相关。我的问题是如何直接获取有关教师或课程的信息?
答案 0 :(得分:1)
您可以增加模型的递归级别以获得更深层次的关联(将$this->Membership->recursive
设置为2或3),但通常最好使用Containable
behavior,以便您可以选择要检索的关联。例如,这将返回具有相关教师课程和教师模型的成员资格:
$membership = $this->Membership->find('all', array(
'contain'=>array(
'TeacherCourse'=>array(
'Teacher'=>array()
),
));
另请参阅http://book.cakephp.org/2.0/en/core-libraries/behaviors/containable.html
处的可包含行为的完整文档答案 1 :(得分:0)
当我意识到你需要首先在模型中添加以下内容时,在这个上抓我的头几分钟:
public $actsAs = array('Containable');
如果没有上述内容,只需在控制器中添加包含数组就可能无法返回您在视图中查找的变量。