我有users
表,每个用户都可以添加好友。朋友是其他用户。
我创建了一个名为user_friends
的数据透视表,其中包含以下列:
id | user_id | friend_id
如何定义关系以便我可以使用$user->friends()
来吸引用户朋友?
答案 0 :(得分:0)
首先:数据透视表没有行的ID
您需要有一个表friend_user
friend_id | user_id
在用户模型中设置您的关系
public function friends()
{
return $this->hasMany(User::class);
}
public function users()
{
return $this->belongsToMany(User::class);
}
我不是100%确定这是否有效,但想知道它是否有效!
答案 1 :(得分:0)
您可以按照以下方式执行此操作:
在您的Users类中定义以下函数以获取特定用户的朋友:
public function friends()
{
return $this->hasMany("App\Friends","user_id","id");
}
$user = Users::find($user_id);
$user_friends = $user->friends()->get();