tôi cần phải thực hiện truy vấn này:Symfony2 subquery trong Học thuyết quản lý tổ chức
SELECT * FROM (SELECT * FROM product WHERE car = 'large' ORDER BY onSale DESC) AS product_ordered GROUP BY type
Trong Symfony2 bằng trình quản lý thực thể.
xây dựng truy vấn cơ bản của tôi sẽ là:
$query = $em->getRepository('AutomotiveBundle:Car')
->createQueryBuilder('p')
->where('pr.car = ?1')
->andWhere('pr.status = 1')
->orderBy('pr.onSale', 'DESC')
->setParameter(1, $product->getName())
->groupBy('p.type')
->getQuery();
Nhưng tôi không thể làm việc ra làm thế nào để thêm vào một subquery để này.
Ive đã cố gắng thực hiện một truy vấn riêng biệt và tham gia nó như:
->andWhere($query->expr()->in('pr.car = ?1',$query2->getQuery()));
Nhưng tôi nhận được:
Call to undefined method Doctrine\ORM\Query::expr()
Tôi tin rằng giải pháp này được bỏ qua giới hạn về @cerad subquery. Ví dụ: $ qbGameId-> setMaxResults (20) và khi u in $ qbGames-> getDQL() u sẽ không thấy giới hạn truy vấn phụ. – EnchanterIO
Một giải pháp khả thi: http://stackoverflow.com/questions/15877287/symfony2-doctrine-expr-subquery-error?answertab=active#tab-top – EnchanterIO