Я хочу добавить orWhere условия для запроса строителя. params будет поступать из массива. но я не знаю, как я могу добавить количество операторов orWhere, равное количеству элементов массива count. Вот какой-то код:Множественные условия в EntityRepository Symfony2
public function selectRelatedTrips($assoc)
{
$params = array('k' => 'Kiev');
$query = $this
->getEntityManager()
->createQueryBuilder()
->select('t')
->from('VputiTripBundle:Trip', 't')
->where('t.startCity = :k');
foreach ($assoc as $k => $v) {
// $query->orWhere('t.startCity = ' . $v);
$query->where('t.startCity = :param' . $k);
$params['param' . $k] = $v;
}
return $query->setParameters($params)
->setMaxResults(20)
->orderBy('t.id', 'desc')
->getQuery()
->getResult();
}
Может ли кто-нибудь помочь мне, пожалуйста?
hm. странный. У меня есть ошибка: Недопустимый номер параметра: количество связанных переменных не совпадает с числом токенов – nowiko
Число параметров не совпадает. Отлаживайте свой sql и ваш массив с параметрами, чтобы увидеть, имеет ли они ту же длину, или если ключи соответствуют –
Я думаю, проблема в том, что ': param' не уникален. –