的Symfony /原则。使用EXISTS进行子选择

时间:2016-12-14 13:42:54

标签: php mysql symfony doctrine-orm doctrine

我有简单的SQL查询,看起来像这样:

select u.*, 
EXISTS (SELECT * FROM survey_response sr WHERE sr.user_id = u.id AND sr.survey_id = 8) AS hasResponse 
FROM `user` u

以及我想要做的是使用doctrine查询构建器构建相同的查询。

$qb = $this->em->createQueryBuilder();
$qb
    ->from('AppBundle:User', 'u')
    ->select('u');

$qb2 = $this->em->createQueryBuilder();
$qb2
    ->from('AppBundle:Response', 'r')
    ->select('r')
    ->where('r.user = u')
    ->andWhere('r.survey = 8');

$qb->addSelect('EXISTS ('.$qb2->getDQL().') AS hasResponse');

现在,当我尝试执行使用查询构建器构建的查询时,它会抛出我和“预期的已知函数,得到'EXISTS'”错误。 我究竟做错了什么?

0 个答案:

没有答案