[Symfony 3] Requête dans le repository

Par sooN, il y a 8 ans


Bonjour,

Voila je rencontre un petit problème avec mon code.

J'essaye en vain de récupérer seulement deux commentaires par publication par le biais d'une requête mais je ne trouve toujours pas la solution, quelqu'un saurait m'indiquer la direction à prendre ? :D

Voici mon code, à l'heure actuelle, ça récupère toutes les publications ainsi que tous les commentaires de celles-ci ( et j'aimerai en avoir que deux bien sûr ).

class PostRepository extends \Doctrine\ORM\EntityRepository { public function getPostsAndLatestComments() { $qb = $this->createQueryBuilder('p'); $qb ->leftJoin('p.postComments', 'c' ) ->addSelect('p', 'c') ->addOrderBy('c.id', 'DESC') ; return $qb ->getQuery() ->getResult() ; } }

Merci d'avance !

3 réponses

antho07, il y a 8 ans

Bonsoir,
bah non maxResult à 2 ça doit faire un limit 2. Or 2 commentaires pour 2 publications ça fait 4 lignes donc tu récupères pas tout ce qui est normal.

Carouge10, il y a 8 ans

Bonjour,

Dans ton query builder, tu n'as pas une méthode "limit" ?

sooN, il y a 8 ans

Bonjour,

Il y a un setMaxResults mais quand je le mets à 2, ça récupère que 2 commentaires au total parmis toutes les publications.

En gros, si il y a deux publications avec 2 commentaires chacunes ça va afficher qu'un commentaire par publication, c'est assez curieux.