我有来自商品和公司的多对多表,我想将其与多对多表关联 company_good
+----------------+------------+
| company_ID | good_ID |
+----------------+------------+
| 1 | 1 |
| 2 | 1 |
| 2 | 2 |
+----------------+------------+
销售
+----------+----------------+--------------+----------+
| id | date | company_id | good_id |
+----------+----------------+--------------+----------+
| 1 | 2019-02-01 | 1 | 1 |
| 2 | 2019-02-01 | 2 | 1 |
| 2 | 2019-02-01 | 1 | 1 |
+----------+----------------+--------------+----------+
我想问的是,有没有关于基于laravel规则的销售的命名栏?我所知道的是,何时表posts
要将其连接到表users
上,表post
上的命名应为user_id
。但在这种情况下,我该如何命名?
答案 0 :(得分:0)
首先,您一定要使用Eloquent。
列名称可以是您想要的任何名称。当您设置多对多模型方法时,可以在其中定义相关的列名称
以下是Laravel文档的摘录:
除了自定义联接表的名称外,您还可以 通过传递自定义表上键的列名 的相关参数。第三个论点 是您要在其中定义模型的模型的外键名称 关系,而第四个参数是 您要加入的模型:
返回$ this-> belongsToMany('App \ Role','role_user','user_id', 'role_id');
更多信息,请访问https://laravel.com/docs/5.8/eloquent-relationships#many-to-many
答案 1 :(得分:0)
我建议在id
表中添加company_good
列,并将相应的模型命名为CompanyGood
,而不是{{1}中的company_id
和good_id
}表使用sales
列