Doctrine DBAL setParameter () con valor de matriz

Estoy usando la doctrine DBAL y tengo algún problema con la consulta SQL como resultado de un queryBuilder.

$builder = $this->getConnection()->getQueryBuilder(); $builder->select(['id','name','type']) ->from('table') ->where('id='.(int)$value) ->setMaxResults(1); $builder->andWhere($builder->expr()->in('type', ['first','second'])); echo(builder->getSQL()); $data = $builder->execute()->fetchRow(); 

Y obtener SQL

 SELECT id, name, type FROM table WHERE (id=149) AND (type IN (first,second)) LIMIT 1 

Y este es el problema, necesito que (tipo IN (primero, segundo)) esté codificado como cadenas como (tipo IN (‘primero’, ‘segundo’))

¿Cómo hacer eso con el generador de consultas de la manera correcta?

Prueba con

 $builder->andWhere('type IN (:string)'); $builder->setParameter('string', array('first','second'), \Doctrine\DBAL\Connection::PARAM_STR_ARRAY);