如何加入两个belongsToMany对象

时间:2015-10-10 20:26:36

标签: laravel join

我试图在我的Laravel项目数据库中表示友谊。 我创建了一个包含所有用户数据的表profile。 第二个表profile_profile,其中包含profile_idfriend_id列。

有了这个,我就能让那些想和我成为朋友的人:

$this->belongsToMany('App\Profile', 'profile_profile', 'friend_id', 'friend_id');

我想成为朋友的朋友:

$this->belongsToMany('App\Profile', 'profile_profile', 'profile_id', 'friend_id');

但最后如果双方都希望这样,那么你们只是朋友。所以我尝试将它们组合在一起,但加入或类似的东西都没有用。

我在这个平台上做了一个研究,谷歌超过2个小时。我担心我的技能有限,但我真的很想请求帮助。

提前谢谢。

1 个答案:

答案 0 :(得分:0)

快速解决方案:在profile_profile表中添加另一列,例如,“accepted”作为布尔值,默认为FALSE。

当用户接受朋友的请求时,将“已接受”字段切换为TRUE。

然后您可以搜索$profile->profiles()->wherePivot('accepted', true)->get()