假设我有以下关联模式:
Person => [
hasMany => [
Courses => [Person.id = Courses.person_id]
],
Courses => [
belongTo => [
Schools => [School.id = Courses.school_id]
]
当我通过mydomain/person/view/1
查看一个人时,我需要一个表来显示那个人的课程。在这个表格中,每个课程需要显示学校的名称。
所以我在控制器上尝试了以下操作:
public function view($id = null)
{
$person = $this->Persons->get($id, [
'contain' => [
'Courses.Schools',
]
]);
$this->set('persons', $test);
$this->set('_serialize', ['person']);
}
我看到的是:
Person => [
firstname => test,
lastname => test,
courses => [
0 => [
id => 1,
shool_id => 1,
person_id => 1,
]
]
]
数组中没有学校,尽管我在包含选项中使用了它。所以我不能显示学校的名字。我做错什么了吗?我如何在视图中显示这些字段?
我很抱歉。这是由于debugKit
引起的。debugkit
仅在我提到的级别之前通过变量面板显示关联,但我使用var_dump
并看到关联和相关字段被正确获取/加载。我相信debugKit,我认为他们没有加载