createQueryBuilder IN子句

ike*_*rib 3 sql dql symfony doctrine-orm

我正在使用Symfony2,我需要执行此SQL,例如:

      select detformacion.* from detformacion
        left  join formacion
        on detformacion.formacion_id = formacion.id
        left join detcurso
        on formacion.id = detcurso.formacion_id
        where detcurso.id IN ('143','144');
Run Code Online (Sandbox Code Playgroud)

为此,我在我的存储库中有这个:

public function getSeleccion(){

    $em = $this->getEntityManager();

    $query = $em->createQueryBuilder()
                ->select('d')
            ->from('GitekUdaBundle:Detformacion', 'd')
            ->leftJoin('d.formacion', 'f') 
                ->leftJoin('f.detcursos', 'det')
                ->where('det.id = :miarray')
                ->setParameter('miarray',array('143','144'))
            ->getQuery() 
            ;
      return $query->getResult();
    }
Run Code Online (Sandbox Code Playgroud)

我尝试过 - > where('det.id IN:miarray')但我一直都会遇到错误.

任何帮助或线索?

提前致谢.

更新:问题是设置参数.

web*_*a2l 18

IN运算符后缺少括号:

->where('det.id IN (:miarray)')
->setParameter('miarray', array('143','144'))
Run Code Online (Sandbox Code Playgroud)