我喜欢创建多态关系,我不确定在我的情况下我是否正确地做出了选择?多态关系设置?
我有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'看起来很好吗? –