【问题标题】:Naming convention for join tables, in a many to many relationship, in LaravelLaravel 中多对多关系中连接表的命名约定
【发布时间】:2016-12-28 13:12:16
【问题描述】:

我有 3 张桌子。

前两个表是 Groups 和 Accounts。

  • 一个帐户可以属于多个组。

  • 一个组可以有多个帐户。

  • 换句话说,它是多对多关系。

因此我需要第三张表,即连接表

Laravel 中这个连接表的推荐命名约定是什么(或者可能是一般性的)。

是否有任何命名约定?

我打算将其称为“GroupsAccountAssignment”。

【问题讨论】:

  • 应该是account_group

标签: sql laravel naming-conventions jointable


【解决方案1】:

数据透视表的名称应该是account_group

如 laravel 中给出的docs

要定义这种关系,需要三个数据库表:用户、 角色和角色用户。 role_user 表派生自 相关型号名称的字母顺序,并包含 user_id 和 role_id 列。

不过,您始终可以覆盖默认命名约定,如下所示:
帐户模型:

return $this->belongsToMany('App\Group', 'GroupsAccountAssignment', 'account_id', 'group_id');

【讨论】:

  • 那么什么是laravel命令来制作模型和迁移。我使用./artisan make:model AccountGroup -m,但这将创建一个名为account_groups 的表。
  • 事实上在这种情况下,我什至需要制作第三个模型吗?
  • 不..你不需要创建第三个模型
  • Laravel 将处理没有模型的关系
猜你喜欢
  • 2016-09-21
  • 1970-01-01
  • 2016-04-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-12-10
  • 1970-01-01
相关资源
最近更新 更多