mysql递归分层数据多表

时间:2016-06-15 22:39:37

标签: php mysql recursion orm

我有一个系统,我需要在Boxes和Sections之间建立一对多的关系。但是,Sections可以包含" Content"或其他Box - 这将是递归的。所以,我有两个表(这是过于简单的,但它显示了基本的想法):

箱   - UUID(int,PK)   - 名称 - 此框的名称   - ParentSection(int,FK) - 它所在的Section的UUID(null将是顶级元素)

节   - UUID(int,PK)   - BoxUUID(FK) - 此部分属于哪个方框   - 名称 - 此部分的名称   - 类型 - ' Box'或者'内容' (如果' Box',Content字段将为null)   - 内容 - 本节的内容

因此,Boxes包含许多Sections(通过BoxUUID),而section包含Content(例如,一串数据)。一个部分也可以是一个" Box" type,在这种情况下,Content将为null,然后Boxes将使用ParentSection列来定义层次结构。

这有几个问题,任何建议都会很棒。 : -

  • 它可以检索孩子们的情况。一节的盒子要困难得多。
  • 感觉不对。我们正在使用ORM(eloquant,如果有帮助的话),定义这些关系并非易事。

这看起来是否正确使用,以及如何更改为遵循最佳做法?

0 个答案:

没有答案