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()