当前位置: 首页 > 知识库问答 >
问题:

Laravel多对多关系(有多个或属于多个)

凌博实
2023-03-14

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

我已经创建了一个板,其中存储了所有用户和他们所在的组之间的关系。我的问题是,我不知道如何访问和设置这在Laravel。我不确定我是否必须用户has很多或属性。

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

我的桌子:

用户

  • ID

集团

  • ID
  • 姓名
  • Creator_ID

用户组

  • User_ID
  • Group_ID

谢谢你的帮助,谢谢!

共有2个答案

龚征
2023-03-14

在模型类中,使用belongtomany,如下所示:https://laravel.com/docs/5.4/eloquent-relationships#many-对许多人来说

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

孙辰阳
2023-03-14

如果要创建多对多的关系,应该是所属的对象,而不是has很多

Group模型中:

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

用户模型中:

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

透视表应称为group\u user

https://laravel.com/docs/5.4/eloquent-relationships#many-对许多人来说

 类似资料:
  • 我继承了一个项目,它有一些CRUD形式...在创建表单中,我们需要创建一个和关系的条目。所以基本上我得到的是以下这些 我不确定这是否是最好的方法,但似乎有效。 我遇到的问题是,在表单中,这些参与者/评论可以编辑、添加或删除,我不确定如何更新它们。是否可以更新它们,或者删除现有关系数据并重新添加它们是否更好? 我从来没有更新过关系,只是添加了它们,所以我不确定如何开始。 任何帮助都将不胜感激。

  • 我在一个laravel控制器中运行以下代码, 但是我似乎从服务器上得到了以下错误, {“error”:{“type”:“ErrorException”,“message”:“preg_replace():参数不匹配,模式为字符串,而替换为数组”,“file”:“/Users/S/Sites/app api/vendor/laravel/framework/src/illumb/Support/he

  • 我有3个标签:用户、教师和帖子。 用户: id-integer name-string 教师: id-integer 教师id-integer 用户id-integer 姓名-string 帖子: id-integer user\u id-integer title-string 用户模型: 教师模式: ??问题是我如何使用这样的东西:

  • 我在Books表和Authors表之间有多对多的关系。透视表(author_book)包含author_id和book_id。

  • 这是项目迁移 这是时间表 这样用户就可以迁移了 这是我的项目模型 这是我的时间表模型: 这是我的用户模型 现在,我从项目返回我的查询 这是可以的,但user_id用户在timesheets.user_id我不能得到它的时间表,并得到它 此控制器按时间表中的项目id返回项目和时间表,但时间表中的用户id我不知道如何将其输入系统

  • 我正在做一个小型的laravel项目来实现雄辩的关系,我主要有多个模型(项目、任务、用户、文件等) 一个项目可以分配多个用户,附加多个文件,也可以有多个任务。一个任务可以分配多个用户,也可以分配多个文件,以及多个其他东西。我已经谷歌和实施了hasManyPass,和归属许多关系,但我对关系感到困惑很多。有什么帮助吗? Project.php Task.php User.php 我得到的错误是,当我