web-dev-qa-db-fra.com

Limiter la quantité d'enregistrements récupérés lors de l'utilisation de Doctrine DQL dans Symfony2

J'ai la requête suivante:

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

Ce que je dois faire, c'est limiter la quantité d'enregistrements renvoyés par cette requête. Cependant, lorsque j'ajoute LIMIT 10 à la requête SQL, il renvoie cette erreur:

Erreur: fin de chaîne attendue, 'LIMIT' a été obtenu.

J'ai donc jeté un coup d'œil et j'ai découvert que vous pouviez ajouter ->limit(10) au code (après la requête). Mais cela déclenche alors cette erreur PHP:

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

Qu'est-ce que je fais mal?

29
mickburkejnr

Il n'y a aucune déclaration comme LIMIT pour DQL actuellement, pour autant que je sache.

Vous devez utiliser Query :: setMaxResults () .

59
Raffael