У меня есть метод, который возвращает Doctrine_Collection с предложением whereIn()
:
public function getByValues($values)
{
if (!is_array($values))
throw new sfException('Wrong parameter type. Excepted array.');
return Doctrine_Query::create()
->from('Anomaly a')
->whereIn('a.value', $values);
}
Однако, когда $values
является пустым массивом, этот метод возвращает все строки, которые есть в AnomalyTable. Это не является неожиданным поведением, как описано в документации Doctrine и написано здесь: ">Где Doctrine с Doctrine_Query
Однако я хотел бы вернуть пустой Doctrine_Collection
вместо результата моего запроса, когда $values
является пустым массивом.
Любые идеи о том, как я могу это сделать?
Спасибо =)
Редактировать:
Добавление невозможного предложения, такого как ->where('1=0')
, помогло бы, но это ненужный запрос к серверу БД. У кого-нибудь есть идея получше?
$values
пуст, просто возвращаю пустойDoctrine_Collection
- person Clement Herreman   schedule 05.04.2011