24
Авг

Особенности whereIn в Doctrine

Posted by Jeka under Программирование

В принципе логичное поведение, но если его не знать, можно словить не приятный баг.
Суть если в функцию whereIn передать пустой массив, то в запрос выражение с IN, подставлено не будет.
Пример:

$ignore = array(); // подразумевается, что здесь должен быть массив с айдишниками, но по какой-то причине он пустой.
$query = Doctrine_Query::create()
    ->select('a.*')
    ->from('Account a')
    ->whereNotIn('a.id', $ignore);
print $query->getSqlQuery(); // Будет 'SELECT * FROM account' - без выражения WHERE

Оставьте комментарий