如何使用querybuilder
在doctrine 2中的WHERE子句中使用IN如何使用querybuilder在doctrine中转换以下sql?
SELECT fooid FROM foo WHERE bar IN ('A','C');
答案 0 :(得分:0)
全部包含在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'));
答案 1 :(得分:0)
也可以使用
编写$qb->select('Foo.fooid')
->from('Foo')
->where($qb->expr()->in('Foo.bar', '?1'))
->setParameters(array(1 => array('A', 'C')));
或上面提到的Guillaume
$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'));