我已经在Laravel中成功建立了多态关系。用户可以同时收藏事件和类别。我遇到的问题是使用该信息并将其中的事件提取到控制器中。
我在我的收藏夹控制器中设置了一个方法,试图显示用户的所有收藏夹事件。使用下面的代码,我可以看到特定用户喜欢的所有内容。
我的收藏夹.php文件
public function favorited()
{
return $this->morphTo();
}
我的event.php文件
public function favorites()
{
return $this->MorphMany(Favorite::class, 'favorited');
}
我的控制器
public function index(User $user)
{
$favorites = Favorite::latest()->get();
return view('favorites.index', compact('favorites'));
}
这将返回
[
{
"id": 20,
"user_id": 11,
"favorited_id": 3,
"favorited_type": "App\\Event",
"created_at": "2019-03-28 00:29:07",
"updated_at": "2019-03-28 00:29:07"
},
{
"id": 2,
"user_id": 11,
"favorited_id": 1,
"favorited_type": "App\\Event",
"created_at": "2019-03-21 21:51:56",
"updated_at": "2019-03-21 21:51:56"
},
{
"id": 3,
"user_id": 11,
"favorited_id": 2,
"favorited_type": "App\\Event",
"created_at": "2019-03-21 21:51:56",
"updated_at": "2019-03-21 21:51:56"
}
]
这正是我想要的,但是我现在陷入了下一步。如何将favourated_id与事件ID相关联,以便可以将事件1、2和3的事件数据传递到刀片文件?
谢谢!