父子顺序 ORM DOCTRINE

Parent-Child order ORM DOCTRINE

我在互联网上搜索并找到了一些解决方案,但其中 none 个适用于 ORM Doctrine,这是一个错误。

我想实现如下效果

结果:

Table 架构:

有两种方法可以达到预期的效果,但在提供的架构的标准 DQL 中,这两种方法都不可用。

首先,您可以选择 use a recursive SQL query 以获得每个子树中的正确顺序。您需要映射本机查询的结果才能再次处理 ORM 对象。

另一种方法是在table中增加一个额外的列,并存储每个节点的完整路径(或任何全球定位信息)。在此之后,快速 ORDER BY 即使在 DQL 中也能完美运行。您可能会发现 tree behavior extension 可以方便地自动化大多数部分。