使用带有PHPCR-ODM的Document类,可以fetch results with the class repository,结果将按字段sort_order
自动排序,该字段不在Document类中,而是在数据库模式中。
Symfony Profiler中记录的查询示例:
SELECT path FROM phpcr_nodes WHERE parent = ? AND workspace_name = ? ORDER BY sort_order ASC
我有这个简单的查询用queryBuilder构建:
$qb->from()
->document('AppBundle\Document\Product', 'product')
->end()
->where()
->neq()->field('product.type')->literal('category');
$query = $qb->getQuery();
结果不像其他查询一样按字段sort_order
排序,我不能使用orderBy
方法,因为这不是Document类的字段。
那么,我该如何对结果进行排序?
答案 0 :(得分:0)
谁说你不能使用orderBy()
?你应该read the docs因为肯定是可能的。使用相同的代码并将排序列假设为sort_order
,请参阅下文:
$qb->from()
->document('AppBundle\Document\Product', 'product')
->end()
->where()
->neq()->field('product.type')->literal('category')
->orderBy()->desc()->field('product.sort_order');