предложение createQueryBuilder IN - PullRequest
       15

предложение createQueryBuilder IN

3 голосов
/ 26 октября 2011

Я работаю с 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');

Для этого у меня есть в моем хранилище:

публичная функция 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();
    }

Я пытался с -> где ('det.id IN: miarray'), но все время получаю ошибки.

Любая помощь или подсказка?

Заранее спасибо.

ОБНОВЛЕНИЕ: проблема заключается в настройке параметров.

1 Ответ

18 голосов
/ 26 октября 2011

Отсутствуют скобки после оператора IN:

->where('det.id IN (:miarray)')
->setParameter('miarray', array('143','144'))
...