Doctrine嵌套查询

时间:2016-07-31 16:37:13

标签: php sql symfony doctrine-orm dql

我试图在教条中找出嵌套查询。

我有3个实体:订单(订单),OrderStatus(订单之间的链接表和可能的状态 - 包含一个名为createdTime的字段),状态(所有可能状态的列表,一个字段为{{ 1}})

我想要做的是返回最新状态为name

的所有订单的列表

我知道我基本上首先得到每个订单的最新状态记录,然后通过$statusName过滤掉。我尝试了很多不同的东西,但每次我都认为我走在正确的轨道上并遇到了一堵砖墙。

我现在拥有的是:

$statusName

我收到错误: $subquery = $this->getEntityManager()->createQueryBuilder() ->select('max(os.createdTime), os') ->from('AppBundle:OrderStatus', 'os') ->groupBy('os.order'); $q = $this->createQueryBuilder('o'); $q->where($q->expr()->in('o.id', $subquery->getDQL())) ->getQuery()->getResult();

如果查询完全符合我的要求,我甚至不确定是否已经过了这个错误,但我无法解决这个问题。基本上我想生成类似于SQL版本的查询:

[Syntax Error] line 0, col 86: Error: Expected Doctrine\ORM\Query\Lexer::T_FROM, got ','

0 个答案:

没有答案