2
我在将纯SQL子句转换为Doctrine查询时遇到问题。 我已经添加了条款中普通的SQL如下:QueryBuilder:如何撰写子选择子句
$query = $doc->getEntityManager()
->createQueryBuilder()
->select ('r')
->from ('AppBundle:CFormResponse', 'r')
->where ('r.formId = :id AND NOT (select f.private from cform f where f.FORM_ID = :id) ')
->setParameter ('id', $formId)->getQuery();
$result = $query->getResult();
我试图将该条款转换为DQL如下(到目前为止):
$qb = $doc->getEntityManager()->createQueryBuilder();
$query = $qb
->select ('r')
->from ('AppBundle:CFormResponse', 'r')
->where ($qb->expr()->andX(
$qb->expr()->eq('r.formId', ':id'),
$qb->expr()->addSelect('(SELECT f.private
FROM AppBundle:CForm f
WHERE f.formId = :id)'
)
))
->setParameter ('id', $formId)->getQuery();
$result = $query->getResult();
与addSelect
表明那里我卡住。 任何人都可以指出我如何做到这一点?