À la LIMITE avec doctrine 2?

J'essaie d'écrire une requête (avec sous-requête) mais je ne sais pas comment fixer une limite dans mon sous-requête.
Ma requête:

$query_ids = $this->getEntityManager()
      ->createQuery(
        "SELECT e_.id
        FROM MuzichCoreBundle:Element e_
        WHERE [...]
        GROUP BY e_.id")
     ->setMaxResults(5)
    ;

$query_select = "SELECT e
      FROM MuzichCoreBundle:Element e 
      WHERE e.id IN (".$query_ids->getDql().")
      ORDER BY e.created DESC, e.name DESC"
    ;

$query = $this->getEntityManager()
      ->createQuery($query_select)
      ->setParameters($params)
    ;

Mais ->setMaxResults(5) ne fonctionne pas. Pas de "LIMITE" dans la requête SQL. Pouvons-nous faire simple LIMITE avec doctrine 2 ?

  • MySQL ne supporte pas encore 'LIMIT & DANS le/TOUTES les/TOUTES les/CERTAINS sous-requête'
  • prouver le lien " doctrine ne prend PAS en charge limit dans subqyery' est : github.com/doctrine/orm/issues/3979 donc utiliser direct natif de requête sql !
InformationsquelleAutor bux | 2011-12-18