Сортировать результаты по sort_order с Doctrine phpcr-odm

Использование класса Document с PHPCR-ODM, можно получить результаты с помощью репозитория классов, результаты автоматически сортируются по полю 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

Решение

Кто сказал, что вы не можете использовать orderBy()? Вам следует читать документы потому что, конечно, это возможно. Используя тот же код и предполагая, что столбец сортировки sort_order увидеть ниже:

$qb->from()
->document('AppBundle\Document\Product', 'product')
->end()
->where()
->neq()->field('product.type')->literal('category')
->orderBy()->desc()->field('product.sort_order');
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]