Я следую учебнику Lynda по основам cakephp 3 и столкнулся с проблемой. Задача заключалась в том, что при просмотре одного пользователя, эта сущность пользователей также должна содержать информацию о его последней добавленной закладке.
Итак, что сделал парень на уроке:
в таблице закладок я добавил одно отношение hasOne
class BookmarksTable extends Table
{
public function initialize(array $config)
{
parent::initialize($config);
$this->table('bookmarks');
$this->displayField('title');
$this->primaryKey('id');
$this->addBehavior('Timestamp');
$this->belongsTo('Users', [
'foreignKey' => 'user_id'
]);
$this->belongsToMany('Tags', [
'foreignKey' => 'bookmark_id',
'targetForeignKey' => 'tag_id',
'joinTable' => 'bookmarks_tags'
]);
// i have added this line
$this->hasOne('LastBookmarks', [
'className' => 'Bookmarks',
'foreignKey' => 'user_id'
]);
}
И мой usersController я добавил LastBookmarks в содержащий массив
public function view($id = null)
{
$user = $this->Users->get($id, [
'contain' => ['Bookmarks', 'LastBookmarks']
]);
$this->set('user', $user);
$this->set('_serialize', ['user']);
}
И ошибка, которую я получаю, это Users is not associated with LastBookmarks
Это экран печати с ошибкой, которую я получаю, когда нажимаю просмотр для одного пользователя
Как я могу преодолеть свою проблему? Если вам нужна дополнительная информация, пожалуйста, дайте мне знать и предоставить. Спасибо