【问题标题】:Laravel Many to Many Relationship ( hasMany or belongsToMany )Laravel 多对多关系( hasMany 或 belongsToMany )
【发布时间】:2018-01-03 02:41:26
【问题描述】:

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

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

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

我的桌子:

用户

  • 身份证
  • 姓名
  • 电子邮件

  • 身份证
  • 姓名
  • 创作者 ID

用户组

  • 用户 ID
  • Group_ID

感谢任何帮助,谢谢!

【问题讨论】:

    标签: php laravel model many-to-many relationship


    【解决方案1】:

    如果要创建多对多关系,应该是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

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        猜你喜欢
        • 2022-01-16
        • 2021-03-22
        • 2014-03-09
        • 2021-10-07
        • 2014-12-30
        • 1970-01-01
        • 1970-01-01
        • 2019-10-01
        • 2018-06-15
        相关资源
        最近更新 更多