相关疑难解决方法(0)

Doctrine实体管理器中的Symfony2子查询

我需要执行此查询:

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)

doctrine entitymanager query-builder symfony

6
推荐指数
2
解决办法
1万
查看次数

标签 统计

doctrine ×1

entitymanager ×1

query-builder ×1

symfony ×1