gpt4 book ai didi

php - 如何在 Laravel 中使用 Eloquent 为相同的两个表创建不同的多对多关系

转载 作者:行者123 更新时间:2023-11-29 13:19:41 25 4
gpt4 key购买 nike

我有 2 个表“用户”和“内容”。用户可以收藏内容,因此我使用数据透视表 User_Content 来建立用户与其收藏的内容之间的多对多关系。这很好。

用户还可以购买内容。这与上面的关系 (User_Content) 相同,但数据完全不同。

如何设置这样的关系,其中表之间的关系相同但内容不同 - 这可以在 Laravel 中使用 Eloquent 成功完成吗?或者我应该采取完全不同的方式来解决这个问题?

最佳答案

只需设置一个包含 user_id 和 content_id 字段的 user_purchase 和 user_favorite 表

然后设置模型

作为

class User extends Eloquent{
public function purchases()
{
return $this->belongsToMany('Content','user_purchase');
}

public function favorites()
{
return $this->belongsToMany('Content','user_favorite');
}
}

class Content extends Eloquent{

public function buyers()
{
return $this->belongsToMany('User','user_purchase');
}

public function favorites()
{
return $this->belongsToMany('User','user_favorite');
}
}

第二列表示要检查哪个表的多对多关系

关于php - 如何在 Laravel 中使用 Eloquent 为相同的两个表创建不同的多对多关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21022111/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com