Ограничить количество записей, извлекаемых при использовании Doctrine DQL в Symfony2


У меня есть следующий запрос:

   $latestcontent = $em->createQuery('
            SELECT c.title, c.content, c.lastedit, a.firstname, a.surname
            FROM ShoutMainBundle:Content c, ShoutMainBundle:Admin a
            WHERE c.author = a.id
            ORDER BY c.lastedit ASC'
            );

Что мне нужно сделать, так это ограничить количество записей, возвращаемых из этого запроса. Однако, когда я добавляю ОГРАНИЧЕНИЕ 10 в SQL-запрос, он возвращает следующую ошибку:

Ошибка: Ожидаемый конец строки, получен "ПРЕДЕЛ".

Итак, я посмотрел и обнаружил, что вы можете добавить ->limit(10) в код (после запроса). Но это затем вызывает эту ошибку PHP:

Fatal error: Call to undefined method Doctrine\ORM\Query::limit() in C:\wamp\www\src\Shout\AdminBundle\Controller\DefaultController.php on line 22

Что я делаю не так?

Author: Raffael, 2011-09-13

1 answers

Насколько я знаю, в настоящее время для DQL нет такого оператора, как LIMIT.

Вы должны использовать Запрос::setMaxResults().

 56
Author: Raffael, 2018-07-09 10:45:50