我有一棵树的页面。我想获取页面的所有子页面。对于这种情况,我在我的yaml文件中添加了fetch: Eager。我还想按子页面的位置排序。但是fetch似乎毁了一切。它确实降低了已执行查询的总数,但是子页面不再按其位置排序。

这部分在我的yaml文件中,用于Page实体:

oneToMany:
    pages:
        targetEntity: Page
        mappedBy: parentPage
        fetch: EAGER
        orderBy: { position: ASC }

知道如何获取页面的所有页面,但仍按位置排序吗?页面树可以嵌套超过1级。
- page_1
    page_1_1
    page_1_2
        page_1_2_1
        page_1_2_2
- page_2

最佳答案

我有类似的问题。当我使用访存模式时,EAGER原则会创建一个带有左联接的查询,而不是两个查询,并且会无提示地忽略静默排序,而不会发出通知。解决方案是使用LAZY模式,但是是的,效果不佳。

关于php - Symfony主义获取EAGER和orderBy组合不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38738283/

10-13 00:33