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
表明那裏我卡住。 任何人都可以指出我如何做到這一點?