【发布时间】:2018-07-21 18:22:49
【问题描述】:
我在 laravel 5.6 中有 3 个表
第一个表
//Table1> users: id | name
//and in Model: User
public function bookmarks()
{
return $this->hasMany(Bookmark::class);
}
第二张表
//Table 3> bookmarks: user_id | bookmarkable_id | bookmarkable_type
// and in Model: Bookmark
public function user()
{
return $this->belongsTo(User::class);
}
public function products()
{
return $this->morphedByMany('App\Product', 'bookmarkable');
}
第三张桌子
//Table3> products: id | title | user_id
//and in Model: Product
public function user()
{
return $this->belongsTo(User::class);
}
public function bookmarks()
{
return $this->morphToMany('App\Bookmark', 'bookmarkable');
}
现在,我想为当前用户返回所有已添加书签的产品:
$products = auth()->user()->bookmarks()->products()->latest()->paginate(18);
但我收到此错误:
“方法 Illuminate\Database\Query\Builder::products 不存在。”
我怎么了?
【问题讨论】:
标签: php laravel laravel-5 eloquent polymorphism