我喜歡創建多態關係,我不確定在我的情況下我是否正確地做出了選擇?多態關係設置?
我有description_groups
表,它是屬於許多descriptions
在涉及到laravel多態性關係表如customers
和orders
可以有很多descriptions
這裏是我想出了數據庫模式:
description_groups
表:
+----+----------------+
| id | name |
+----+----------------+
| 1 | Stock Movement |
+----+----------------+
descriptions
表:
description_groups
是屬於下面使用
+----+----------------------+--------+
| id | description_group_id | name |
+----+----------------------+--------+
| 1 | 1 | Name 1 |
| 2 | 1 | Name 2 |
| 3 | 1 | Name 3 |
| 4 | 1 | Name 4 |
+----+----------------------+--------+
polymorphic_table
表我可以定義哪些表和條目可能說明中列出許多descriptions
。表名應該是什麼?例如:
+----+----------------+------------+----------+
| id | description_id | table_name | table_id |
+----+----------------+------------+----------+
| 1 | 4 | customers | 2 |
| 2 | 2 | orders | 10 |
+----+----------------+------------+----------+
customers table
:
+----+-----------------+
| id | name |
+----+-----------------+
| 1 | Customer Name 1 |
| 2 | Customer Name 2 |
| 3 | Customer Name 3 |
+----+-----------------+
所以這意味着Customer Name 2
有Name 4
條目說明這是屬於Stock Movement
條目。
表的名字不應該是一個表,它應該是代表表中的模型的路徑。 'App \ Customer'和'App \ Order'很好。此外,不應該被稱爲'table_name',而是'entity_name'和'table_id'也應該是'entity_id'。更清潔,更直接,遵循Laravel的設計雜注。 – Ohgodwhy
@Ohgodwhy謝謝你,隨時發佈你的答案。 'description'和'description_groups'看起來很好嗎? –