2012-01-31 20 views
5

LEFT JOINの結果を制限する必要があるので、サブクエリを使用する必要があります。 Doctrine 2でどうすればいいですか?Doctrine 2でQueryBuilderを使用してSELECTサブクエリを使用してLEFT JOINを作成する方法は?

$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にジョブの結果を制限するためにそれを変更する必要があります。

私が今持っていることです。

+0

Doctrine2でサブクエリを構築するためにどのように([ここで見る] http://stackoverflow.com/questionsすることができます/ 6637506/doing-a-where-in-subquery-in-doctrine-2#6638146)。 – jkucharovic

+0

ありがとうございますが、おそらくサブ選択をQueryBuilderに参加させることができません。ネイティブSQLを使用する必要があります。 – drupality

答えて

関連する問題