【发布时间】:2017-05-10 12:46:17
【问题描述】:
我在将普通 SQL 子句转换为 Doctrine 查询时遇到问题。 我在下面的纯 SQL 中添加了该子句:
$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 表示我卡在哪里。
谁能指出我如何做到这一点的方向?
【问题讨论】:
标签: doctrine-query