0
比方说你有用户和朋友架构Laravel和雄辩 - 查询“朋友”关系
user:
- id
- username
friends:
- id
- user_id
- friend_id
A“友谊”由具有两个相互记录来确定。让我们说,如果它只是一种单向关系,这是一个未决的请求。所以在朋友表:
user_id: 5 | friend_id: 6
user_id: 6 | friend_id 5
用户模型中,你将不得不:
public function friends()
{
return $this->belongsToMany(self::class,'friends','user_id','friend_id')->withTimestamps();
}
然而,这并不是故事的全部,因为这不检查的存在相互关系。
你会如何设置? friends()方法是否应该负责进一步查询数据?或者这种方法是否合适,以及想要获得相互友谊的实例,应该追加一个查询范围?例如
$this->user->friends->mutual()
OR
$this->user->friends->pending()