我正在为一个类似电子商务的网站设计一个产品类别的表格。该表目前看起来有点像这样:
| id | name | level | value | parent_id |
+----+-------------+-------+-------------+-----------+
| 1 | Food | 0 | food | NULL |
| 2 | Phone | 0 | phone | NULL |
| 3 | Thing | 0 | thing | NULL |
| 4 | Pasta | 1 | pasta | 1 |
| 5 | Apple | 1 | apple | 2 |
| 6 | SubThing | 1 | subthing | 3 |
| 7 | Tagliatelle | 2 | tagliatelle | 4 |
| 8 | iPhone 11 | 2 | iphone_11 | 5 |
| 9 | SubSubThing | 2 | subsubthing | 6 |
基本上,我不想在每次人们想要向类别结构添加新的子级时创建一个完整的新表并映射关系,并依靠level
和parent_id
列让我的代码知道如何处理这个类别以及它的父类别是什么。我对模型设计完全陌生,这是我能想到的最好的方法。这种自引用结构有没有什么不好的地方,我只是太新手没有意识到?
发布于 2019-09-14 07:22:06
如果您确定子级别(子级)将仅由该单行或父级引用,则设计应该足够了。如果需要将多个子元素汇总到该父实体中,则可能会遇到问题。
https://stackoverflow.com/questions/57932430
复制