Как создать LEFT JOIN с подзапросом SELECT, используя QueryBuilder в Doctrine 2? - PullRequest
5 голосов
/ 01 февраля 2012

Мне нужно ограничить результаты LEFT JOIN, поэтому я должен использовать подзапрос. Может ли кто-нибудь дать мне совет, как я могу сделать это с Doctrine 2?

Что у меня сейчас есть:

  $qb = $this->_em->createQueryBuilder();
    return $qb->add('select', 'c,j')
             ->add('from', 'JobeetBundle:Category c')
             ->leftJoin('c.jobs', 'j', 'WITH', 'j.category = c')
             ->add('where', 'j.expiresAt > ?1')
             ->add('orderBy','j.expiresAt DESC')
             ->setParameter(1, new \DateTime())
             ->getQuery()
             ->getResult();

, но я должен изменить его, чтобы ограничить результаты заданий до 10 по каждой категории.

1 Ответ

1 голос
/ 07 мая 2013

К сожалению, это невозможно.Здесь:

https://groups.google.com/forum/#!topic/doctrine-user/0rNbXlD0E_8

Вы можете сделать это, используя IN здесь:

Выполнение подзапроса WHERE .. IN в Doctrine 2

...