Доктрина ODM отличается с пределом

У меня следующая проблема: я не могу ограничить количество результатов при использовании различных. Пример:

$stores = $this->dm->createQueryBuilder('Application\Document\Item')
   ->distinct('storeName')
   ->limit(10)
   ->getQuery()
   ->execute();

Этот запрос отображает 100 записей, но мне нужно только 10 результатов.


person Siol    schedule 06.11.2013    source источник


Ответы (2)


С классом построителя запросов в ORM вам нужно использовать:

->setMaxResults(10);

Согласно словам @Siol и @john Smith, в ODM вы можете использовать limit:

->limit(10);
person manix    schedule 07.11.2013
comment
setMaxResults() предназначен только для Doctrine ORM, а не для ODM - person Siol; 07.11.2013
comment
для ODM\MongoDB\Query\Builder это просто -›limit(1) - person john Smith; 10.01.2014

Я не думаю, что отдельные будут работать с ограничением, как это предлагается в билете задачи Jira mongodb Ability для использования Limit() с Distinct():

Текущая реализация Distinct() позволяет возвращать только ВСЕ уникальные значения в коллекции или сопоставляться с запросом, но нет способа ограничить эти результаты. Это было бы очень удобно, и есть много вариантов использования.

person Sudheesh S Babu    schedule 05.07.2019