Не Выполняется Sql Запрос.

Здравствуйте!

что должно быть:


UPDATE table SET paramItem=NULL WHERE param=100 AND paramItem=200

есть 2 Yii запроса:

  1. 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 строк затронуто.(и в действительности ничего не обновляется)

  1. ActiveRecord



$numAffectedRows = Table::model()->updateAll(

    array(

        'paramItem' => null,

    ),

    'param=:param AND paramItem=:paramItem',

    array(

        ':param' => 100,

        ':paramItem' => 200,

    )

);



Результат 2 запроса = 500 строк затронуто.(и в действительности нужно было обновить 500 строк что и было успешно сделано)

в чем проблема, ведь запросы абсолютно идентичные с точки зрения SQL? Средствами DAO запрос не работает. Ошибок нет, просто затрагивает 0 строк.

Ну например в модели может быть прописана таблица, отличная от указанной в DAO-запросе.

А вообще включите лог и посмотрите на сгенерированные запросы.