我需要执行此查询:
SELECT * FROM (SELECT * FROM product WHERE car = 'large' ORDER BY onSale DESC) AS product_ordered GROUP BY type
Run Code Online (Sandbox Code Playgroud)
在Symfony2中使用实体管理器.
我的基本查询构建器将是:
$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();
Run Code Online (Sandbox Code Playgroud)
但我无法弄清楚如何在子查询中添加.
我试过单独的查询并加入它像:
->andWhere($query->expr()->in('pr.car = ?1',$query2->getQuery()));
Run Code Online (Sandbox Code Playgroud)
但我得到:
Call to undefined method Doctrine\ORM\Query::expr()
Run Code Online (Sandbox Code Playgroud)