我目前正在使用Laravel构建我的第一个应用程序并且偶然发现了我不知道如何在模型(用户和组)之间建立多对多关系的问题。
我创建了一个板,用于存储所有用户与他们所在组之间的关系。 我的问题是我不知道如何访问并在Laravel中设置它。 我不确定我是否必须使用hasMany或belongsToMany。
我正在尝试找到一种方法来将用户添加到组,以便在UserGroups表中创建一个新条目。
我的桌子:
用户
组
用户组
感谢您的帮助,谢谢!
答案 0 :(得分:0)
在模型类中,使用belongsToMany,如下所示:https://laravel.com/docs/5.4/eloquent-relationships#many-to-many
要将用户添加到组,请使用attach(),如下所示: https://laravel.com/docs/5.4/eloquent-relationships#the-create-method(滚动到多对多关系)
答案 1 :(得分:0)
如果您想创建多对多关系,则应为belongsToMany
,而不是hasMany
。
在Group
模型中:
public function users()
{
return $this->belongsToMany(Group::class);
}
在User
模型中:
public function groups()
{
return $this->belongsToMany(User::class);
}
数据透视表应称为group_user
。
https://laravel.com/docs/5.4/eloquent-relationships#many-to-many