Doctrine orm 如何使用querybuilder在WHERE claus原则2中使用

Doctrine orm 如何使用querybuilder在WHERE claus原则2中使用,doctrine-orm,Doctrine Orm,我怎样才能在WHERE claus中使用doctrine2 如何使用querybuilder转换原则中的以下sql SELECT fooid FROM foo WHERE bar IN ('A','C'); 所有内容都包含在本手册中 假设$qb是您的查询生成器: $qb->add('select', new Doctrine\ORM\Query\Expr\Select(array('Foo.fooid'))) ->add('from', new Doctrine\ORM\Q

我怎样才能在WHERE claus中使用doctrine2

如何使用querybuilder转换原则中的以下sql

SELECT fooid FROM foo WHERE bar IN ('A','C');
所有内容都包含在本手册中

假设
$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'));

致命错误:在第57行的/home/websites/site/module/Main/src/Main/Controller/xxxxxController.php中找不到类'Main\Controller\Expr\Select'。我使用的是ZF2,我需要添加任何库吗?不需要,但是
Expr\Select
与您当前的命名空间相关,它似乎是
Main\Controller
。使用完全限定名称:
document\ORM\Query\Expr\Select