我有这种结构......
爷爷有很多孩子,孩子有很多孩子我可以制作这3张桌子的树吗?我认为我的问题确实是,我可以只使用那些表而不创建另一个表来构建树结构吗?
答案 0 :(得分:2)
我认为你不能,因为树的行为适用于1个表。
但您可以使用表persons
,persons_kids
+--------------------+
| persons |
+--------------------+
| id | Name |
+--------------------+
| 1 | Grandpa |
+--------------------+
| 2 | Dad |
+--------------------+
| 3 | Me |
+--------------------+
| 5 | MyChildren |
+--------------------+
| 4 | MyBrother |
+--------------------+
+--------------------+
| persons_kids |
+--------------------+
| parent_id | kid_id |
+--------------------+
| 1 | 2 | // Grandpa -> Dad
+--------------------+
| 2 | 3 | // Dad -> Me
+--------------------+
| 2 | 3 | // Dad -> MyBrother
+--------------------+
| 3 | 5 / // Me -> MyChildren
+--------------------+
parent_id
和kid_id
都会指向person_id
您可以执行指向persons_kids
表中的不同外键的不同模型。
有关详细信息,请参阅Cookbook