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


Bonjour,

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

sooN
Auteur

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.

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.