我有users
表,每個用戶可以添加好友。朋友是其他用戶。Laravel:選擇正確的關係
我創建了一個名爲user_friends
與下列的數據透視表:
id | user_id | friend_id
如何我可以定義一個關係,所以我可以用$user->friends()
獲得用戶的朋友嗎?
我有users
表,每個用戶可以添加好友。朋友是其他用戶。Laravel:選擇正確的關係
我創建了一個名爲user_friends
與下列的數據透視表:
id | user_id | friend_id
如何我可以定義一個關係,所以我可以用$user->friends()
獲得用戶的朋友嗎?
第一:樞軸表中沒有ID爲行
你需要有一個表friend_user
friend_id | user_id
安裝在用戶模式的關係
public function friends()
{
return $this->hasMany(User::class);
}
public function users()
{
return $this->belongsToMany(User::class);
}
我不是100%確定這是否可行,但想知道它是否可行!
你可以做到這一點如下:
在用戶類中定義下列函數來獲取特定用戶的朋友:
public function friends()
{
return $this->hasMany("App\Friends","user_id","id");
}
$user = Users::find($user_id);
$user_friends = $user->friends()->get();
最重要的是要確保您的數據透視表的名稱是按字母順序排列與單數的表名。數據透視表必須是「friend_user」。 –