我有2个表'User'和'Content'。 用户可以喜欢内容,因此我使用数据透视表User_Content来建立用户与他们喜欢的内容之间的多对多关系。 这很好。
用户还可以购买内容。这与上面的关系(User_Content)相同,但数据完全不同。
如何设置这样的关系,其中表之间的关系相同但内容不同 - 可以使用Eloquent在Laravel中成功完成吗? 或者是否有一种完全不同的方式我应该接近这个?
答案 0 :(得分:1)
只需设置一个user_purchase和user_favorite表,其中包含user_id和content_id字段
然后设置模型
as
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');
}
}
第二列指示要检查多对多关系的表