Laravel 多对多关系( hasMany 或 belongsToMany )

Laravel Many to Many Relationship ( hasMany or belongsToMany )

我目前正在使用 Laravel 构建我的第一个应用程序并且偶然发现了我不知道如何设置模型(用户和组)之间的多对多关系的问题。

我创建了一个面板,其中我存储了所有用户和他们所在的组之间的关系。 我的问题是我不知道如何在 Laravel 中访问和设置它。 我不确定我是否必须使用 hasMany 或 belongsToMany。

我正在尝试找到一种将用户添加到组的方法,以便在用户组中创建一个新条目 table。

我的tables:

用户

用户组

感谢任何帮助,谢谢!

在模型 class 中,使用 belongsToMany,如下所示:https://laravel.com/docs/5.4/eloquent-relationships#many-to-many

要将用户添加到组,请使用 attach(),如下所示: https://laravel.com/docs/5.4/eloquent-relationships#the-create-method(滚动到多对多关系)

如果要创建多对多关系,应该是belongsToMany,而不是hasMany

Group模型中:

public function users()
{
    return $this->belongsToMany(Group::class);
}

并且在 User 模型中:

public function groups()
{
    return $this->belongsToMany(User::class);
}

支点 table 应称为 group_user

https://laravel.com/docs/5.4/eloquent-relationships#many-to-many