【发布时间】:2016-08-20 02:18:54
【问题描述】:
我喜欢创建多态关系,但我不确定我的做法是否正确?
我有description_groups 表,它属于许多descriptions
关于laravel的多态关系,customers和orders等表可以有很多descriptions
这是我想出的数据库架构:
description_groups表:
+----+----------------+
| id | name |
+----+----------------+
| 1 | Stock Movement |
+----+----------------+
descriptions表:
description_groups 属于下面列出的许多descriptions
+----+----------------------+--------+
| id | description_group_id | name |
+----+----------------------+--------+
| 1 | 1 | Name 1 |
| 2 | 1 | Name 2 |
| 3 | 1 | Name 3 |
| 4 | 1 | Name 4 |
+----+----------------------+--------+
使用polymorphic_table 表我可以定义哪个表和条目可以有描述。表名应该是什么?例如:
+----+----------------+------------+----------+
| 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 具有属于Stock Movement 条目的Name 4 条目描述。
【问题讨论】:
-
表名不应该是一个表,它应该是代表该表的模型的路径。
App\Customer和App\Order很好。此外,不应将其称为table_name,而应将entity_name和table_id称为entity_id。更简洁,更直接,遵循 Laravel 的设计编译指示。 -
@Ohgodwhy 谢谢,请随时发布您的答案。
descriptions和description_groups你觉得不错?
标签: laravel laravel-5.2