我目前正在用Laravel构建我的第一个应用程序,偶然发现了我不知道如何设置模型(用户和组(之间的多对多关系的问题。
我创建了一个看板,在其中存储所有用户与其所在组之间的关系。 我的问题是我不知道如何在拉拉维尔中访问和设置它。 我不确定我是否必须用户拥有许多或属于许多。
我正在尝试找到一种将用户添加到组的方法,以便在用户组表中创建一个新条目。
我的桌子:
用户
- 身份证
- 名字
- 电子邮件
群
- 身份证
- 名字
- Creator_ID
用户组
- User_ID
- Group_ID
感谢任何帮助,谢谢!
如果要创建多对多关系,它应该是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
在模型类中,使用 belongsToMany,如下所示: https://laravel.com/docs/5.4/eloquent-relationships#many-to-many
要将用户添加到组,请使用 attach((,如下所示: https://laravel.com/docs/5.4/eloquent-relationships#the-create-method(滚动到多对多关系(