Laravel:选择正确的关系

时间:2017-02-20 15:09:41

标签: laravel eloquent

我有users表,每个用户都可以添加好友。朋友是其他用户。

我创建了一个名为user_friends的数据透视表,其中包含以下列:

id | user_id | friend_id

如何定义关系以便我可以使用$user->friends()来吸引用户朋友?

2 个答案:

答案 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();
相关问题