0
我在cakephp 3基礎上的Lynda教程之後,遇到了問題。任務是,當您查看一個用戶時,此用戶實體還必須包含有關他最後添加的書籤的信息。用戶與LastBookmarks沒有關聯
那麼就教程的傢伙所做的是:
上的書籤表我已經添加了一個關係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
這是一個錯誤的打印屏幕,當我按下一個用戶的視圖時,我會收到
我該如何克服我的問題?如果您需要任何其他信息,請讓我知道並提供。謝謝
是的,你是對的。一個人認爲,沒有LastBookmarks表...在教程中有書籤和用戶表。但後來不知何故,用戶通過$ this-> hasOne('LastBookmark')代碼創建lastbookmark信息。任何在Users表上添加這個關聯的方式都適用於我。 Thx –
ehhh現在我明白了:D我添加的代碼不應該在BookmarksTable上,而是在UsersTable上:D Thx man! –