Допустим, у меня есть следующая схема ассоциаций:
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 и думал, что они не загружены.
Других решений пока нет …