Код: Выделить всё
$updatedCount = \Yii::$app->db->createCommand($sql)->execute();
P.S. Квери выглядит как большой (50к+) батч апдейт:
Код: Выделить всё
update mytable set myfield = (case id when 1 then 123 when 2 then 456 end) where id in (1, 2);
Код: Выделить всё
$updatedCount = \Yii::$app->db->createCommand($sql)->execute();
Код: Выделить всё
update mytable set myfield = (case id when 1 then 123 when 2 then 456 end) where id in (1, 2);
Но почему оно могло не измениться? Я же привел вам пример запроса. Там просто не могло не обновить! Потому что селектом все эти строки которые в where выбираются без проблем. Case (да и весь запрос) я формирую вручную, но там тоже все верно. Он должен обновлять все!