我有一棵树的页面。我想获取页面的所有子页面。对于这种情况,我在我的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/