私はusers
テーブルを持っており、各ユーザーは友達を追加できます。友人は他のユーザーです。Laravel:適切な関係を選択してください
私は、次の列を持つuser_friends
という名前のピボットテーブルを作成:
id | user_id | friend_id
私は$user->friends()
を使用して、ユーザーの友人を得ることができるので、私は関係を定義できますか?
私はusers
テーブルを持っており、各ユーザーは友達を追加できます。友人は他のユーザーです。Laravel:適切な関係を選択してください
私は、次の列を持つuser_friends
という名前のピボットテーブルを作成:
id | user_id | friend_id
私は$user->friends()
を使用して、ユーザーの友人を得ることができるので、私は関係を定義できますか?
まず:ピボットテーブルは、あなたがテーブルfriend_user
friend_id | user_id
Userモデルでセットアップはあなたの関係
public function friends()
{
return $this->hasMany(User::class);
}
public function users()
{
return $this->belongsToMany(User::class);
}
を持っている必要があります行
のIDを持っていない私はないですこれがうまくいくかどうか100%確信していますが、もしそうなら、知りたいです!あなたは、次のようにそれを行うことができます
:
ユーザークラスでは、特定のユーザーの友人を取得するには、次の関数を定義します。
public function friends()
{
return $this->hasMany("App\Friends","user_id","id");
}
$user = Users::find($user_id);
$user_friends = $user->friends()->get();
最も重要なことは、あなたのピボットテーブル名はアルファベット順であることを確認することです特異なテーブル名でピボットテーブルは "friend_user"でなければなりません。 –