Ограничить количество записей, извлекаемых при использовании Doctrine DQL в Symfony2 - PullRequest
26 голосов
/ 13 сентября 2011

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

   $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'
            );

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

Ошибка: ожидаемый конец строки, получен «LIMIT».

Итак, я посмотрел и обнаружил, что вы можете добавить ->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

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

1 Ответ

58 голосов
/ 13 сентября 2011

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

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

...