Я создаю проект на CakePHP 3.x, где я совершенно новый. У меня проблемы с таблицами, связанными с hasMany, чтобы получить имена моих сущностей вместо их идентификаторов.
Я пришел из CakePHP 2.x, где я использовал App::import('controller', array('Users')
, но в представлении для извлечения всех данных для отображения вместо идентификаторов, что считается плохой практикой. И я не хотел бы иметь какое-либо нарушение кода в моем новом коде. Кто-нибудь может мне помочь? вот код:
public function view($id = null)
{
$this->loadModel('Users');
$relatedUser = $this->Users->find()
->select(['Users.id', 'Users.email'])
->where(['Users.id'=>$id]);
$program = $this->Programs->get($id, [
'contain' => ['Users', 'ProgramSteps', 'Workshops']
]);
$this->set(compact('program', 'users'));
$this->set('_serialize', ['ast', 'relatedUser']);
}
Я ожидаю получить электронную почту пользователя в relatedUsers таблицы программы, но фактический вывод:
Notice (8): Trying to get property 'user_email' of non-object [APP/Template\Asts\view.ctp, line 601].
Действительно нужна помощь
Заранее спасибо.