У меня есть метод, который возвращает 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')
, поможет, но это ненужный запрос к серверу БД.У кого-нибудь есть идея получше?