0
使用IN我怎樣才能使用在使用querybuilder如何在WHERE克勞斯學說2使用的QueryBuilder
克勞斯在doctrine2我怎麼能轉換成學說使用的QueryBuilder以下SQL?
SELECT fooid FROM foo WHERE bar IN ('A','C');
使用IN我怎樣才能使用在使用querybuilder如何在WHERE克勞斯學說2使用的QueryBuilder
克勞斯在doctrine2我怎麼能轉換成學說使用的QueryBuilder以下SQL?
SELECT fooid FROM foo WHERE bar IN ('A','C');
所有包含在Doctrine documentation。
假設$qb
是查詢構建器:
$qb->add('select', new Doctrine\ORM\Query\Expr\Select(array('Foo.fooid')))
->add('from', new Doctrine\ORM\Query\Expr\From('Foo'))
->add('where', $qb->expr()->in('Foo.bar', '?1'))
->setParameter(1, array('A', 'C'));
它也可以使用
$qb->select('Foo.fooid')
->from('Foo')
->where($qb->expr()->in('Foo.bar', '?1'))
->setParameters(array(1 => array('A', 'C')));
書面或以上
$qb = $objectManager->createQueryBuilder();
$qb->add('select', new \Doctrine\ORM\Query\Expr\Select(array('Foo.fooid')))
->add('from', new \Doctrine\ORM\Query\Expr\From('Foo'))
->add('where', $qb->expr()->in('Foo.bar', '?1'))
->setParameter(1, array('A', 'C'));
提到
致命錯誤作爲紀堯姆:類「主\控制器\ Expr \ Select'找不到在/home/websites/site/module/Main/src/Main/Controller/xxxxxController.php在線57 - 我正在使用ZF2,我需要添加任何庫嗎? – Developer
不,但是'Expr \ Select'與您當前的名稱空間相關,這似乎是'Main \ Controller'。改爲使用完全限定的名稱:「Doctrine \ ORM \ Query \ Expr \ Select」。 –