簡體   English   中英

將表連接到多對多表

[英]Connect a table to many to many table

我有商品和公司的多對多表,我想將它與一對多表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表命名postuser_id 但是在這種情況下,我該如何命名?

首先,您一定要使用Eloquent。

列名稱可以是您想要的任何名稱。 當設置多對多模型方法時,您可以在其中定義相關的列名稱

這是Laravel文檔的摘錄:

除了自定義聯接表的名稱之外,還可以通過將其他參數傳遞給belongsToMany方法來自定義表上鍵的列名。 第三個參數是您要在其上定義關系的模型的外鍵名稱,而第四個參數是您要加入的模型的外鍵名稱:

返回$ this-> belongsToMany('App \\ Role','role_user','user_id','role_id');

https://laravel.com/docs/5.8/eloquent-relationships#many-to-many了解更多

我建議將一個id列添加到company_good表中,並將對應的模型命名為CompanyGood ,而不是在sales表中使用company_good_id列來命名company_idgood_id

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM