2012-01-31 34 views
5

Tôi cần giới hạn kết quả LEFT JOIN, vì vậy tôi phải sử dụng truy vấn phụ. Ai đó có thể cho tôi lời khuyên làm thế nào tôi có thể làm điều đó với Doctrine 2?Làm thế nào để tạo LEFT JOIN với truy vấn con SELECT bằng cách sử dụng QueryBuilder trong Doctrine 2?

Những gì tôi có bây giờ là:

$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(); 

nhưng tôi phải thay đổi nó để giới hạn kết quả công việc đến 10 của tất cả các thể loại.

+0

Làm thế nào để xây dựng subquery trong Doctrine2 bạn có thể [tìm thấy ở đây] (http://stackoverflow.com/questions/6637506/làm-một-nơi-trong-subquery-in-doctrine-2 # 6638146). – jkucharovic

+0

Cảm ơn nhưng có lẽ tôi không thể vượt qua phụ chọn để tham gia vào QueryBuilder, tôi cần phải sử dụng SQL bản địa. – drupality

Trả lời

Các vấn đề liên quan