Me temo que Yii 2 Query Builder es para consultas seleccionadas solo.
Para actualizar consultas tiene al menos tres opciones:
-
SQL sin formato:
\Yii::$app->db->createCommand('update user set status = 1 where age > 30')->execute();
-
SQL sin procesar con marcadores de posición (para evitar la inyección de SQL)
\Yii::$app->db->createCommand('update user set status = :status where age > 30')->bindValue(':status','1')->execute();
-
actualizar() método
// update user set status = 1 where age > 30 \Yii::$app->db->createCommand()->update('user', ['status' => 1], 'age > 30')->execute();
Más información aquí: