Что касается WHERE IN
в построителе запросов, вы можете передать $criteria
в виде массива методу setParameter()
. Также убедитесь, что массив находится в этом формате.
$criteria = array('1','2','3'); /* correct */
$criteria = array('1,2,3'); /* incorrect. Some people misunderstand this and set the array like this which is incorrect */
Итак, ваш запрос будет выглядеть примерно так:
$q = $this->getEntityManager()->
createQuery('
SELECT f.id, f.path FROM RealestateCoreBundle:Foto f
WHERE f.premises in (:criteria)');
$q->setParameter('criteria', array('1','2','3'));
Надеюсь, это поможет.