我有一个现有的数据模型,我可以自由地重命名以匹配CakePHP's conventions。我有一种图形节点,其中一个节点可以有任意数量的子节点和任意数量的父节点(单向关系)。
这是遵循CakePHP惯例的节点表:
Table: nodes
Column: node_id (INT)
Column: description (TEXT)
我的问题是联接表应该是什么样的?现在看来是这样的:
Table: nodes_nodes
Column: parent_node_id (INT)
Column: child_node_id (INT)
文档所暗示的应该是:
Table: nodes_nodes
Column: node_id (INT)
Column: node_id (INT)
请注意,两个列名相同,显然不起作用。这两列应该叫什么?或者CakePHP的约定可以在没有配置的情况下处理这种情况吗?
答案 0 :(得分:3)
正如neilcrookes所说,网上有一些关于在CakePHP中做这件事的文章。 Here就是其中之一,以用户HABTM用户(朋友)为例。
在该链接文章中,如果您不打算在模型上进行分页,则可以忽略User类定义之后的所有内容。
答案 1 :(得分:1)
如果某个节点有子节点,那么这些子节点会自动将第一个节点作为父节点吗?
这种关系可能类似于用户与用户之间的关系,其中关系象征着社交网络中的共同“朋友”概念。建议你有一个谷歌周围的用户/朋友数据模型,看看是否有帮助。