我有简单的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'”错误。 我究竟做错了什么?