亲子订单ORM DOCTRINE

时间:2019-12-02 08:52:00

标签: php mysql doctrine dql

我在互联网上搜索并找到了一些解决方案,但是它们都不在ORM原理中起作用,这是一个错误。

我想要达到如下效果。

结果:

enter image description here

表架构:

enter image description here

1 个答案:

答案 0 :(得分:0)

有两种方法可以达到预期的效果,但在提供了该模式的标准DQL中都不可用。

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

另一种方法是在表中添加额外的列,并存储每个节点的完整路径(或任何全局定位信息)。之后,即使在DQL中,快速ORDER BY也可以正常工作。您可能会发现tree behavior extension可以使大多数零件自动化。