Здравствуйте!
что должно быть:
UPDATE table SET paramItem=NULL WHERE param=100 AND paramItem=200
есть 2 Yii запроса:
- DAO
$command = Yii::app()->db->createCommand();
$command->reset();
$numAffectedRows = $command->update(
'table',
array(
'paramItem' => null,
),
'param=:param AND paramItem=:paramItem',
array(
':param' => 100,
':paramItem' => 200,
)
);
Результат 1 запроса = 0 строк затронуто.(и в действительности ничего не обновляется)
- ActiveRecord
$numAffectedRows = Table::model()->updateAll(
array(
'paramItem' => null,
),
'param=:param AND paramItem=:paramItem',
array(
':param' => 100,
':paramItem' => 200,
)
);
Результат 2 запроса = 500 строк затронуто.(и в действительности нужно было обновить 500 строк что и было успешно сделано)
в чем проблема, ведь запросы абсолютно идентичные с точки зрения SQL? Средствами DAO запрос не работает. Ошибок нет, просто затрагивает 0 строк.