需要帮助从Laravel中的多态关系中提取特定数据

时间:2019-03-28 04:27:00

标签: laravel relationship has-many-polymorphs

我已经在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的事件数据传递到刀片文件?

谢谢!

0 个答案:

没有答案