私は問題に直面しているcakephp 3の基礎に関するLyndaのチュートリアルです。タスクは、1人のユーザーを表示するときに、このユーザーエンティティに最後に追加されたブックマークに関する情報も含める必要があるということでした。ユーザーはLastBookmarksに関連付けられていません
だから何のチュートリアルの男がやったことはした
ブックマークテーブルの上に私は1つの関係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'
]);
}
そして、私がUserControllerを追加している私は、配列を含んで
public function view($id = null)
{
$user = $this->Users->get($id, [
'contain' => ['Bookmarks', 'LastBookmarks']
]);
$this->set('user', $user);
$this->set('_serialize', ['user']);
}
でLastBookmarksを追加しましたそして、私が得るエラーはUsers is not associated with LastBookmarks
です これは私が1人のユーザのビューを押すときに得ているエラーの印刷画面です
どのように問題を解決できますか?追加情報が必要な場合は、私に知らせて提供してください。ありがとう
はい、あなたは正しいです。 1つは、LastBookmarksのテーブルがないと思います...チュートリアルでは、ブックマークとユーザーのテーブルがあります。しかし、なんとか男は、ユーザーのトラフ$ this-> hasOne(LastBookmark)コードに関するlastbookmarkの情報を作ります。どのようにしてこのテーブルをUsersテーブルに追加するかは、私の仕事でした。 Thx –
ehhh今私はそれを得る:Dは私が追加したコードは、BookmarkTable上にあるべきではなくUsersTableにあるべきだ:D Thx man! –