Je crains Yii 2 Query Builder est pour les requêtes de sélection uniquement.
Pour la mise à jour requêtes, vous avez au moins trois options :
-
SQL brut :
\Yii::$app->db->createCommand('update user set status = 1 where age > 30')->execute();
-
SQL brut avec espaces réservés (pour empêcher l'injection SQL)
\Yii::$app->db->createCommand('update user set status = :status where age > 30')->bindValue(':status','1')->execute();
-
méthode update()
// update user set status = 1 where age > 30 \Yii::$app->db->createCommand()->update('user', ['status' => 1], 'age > 30')->execute();
Plus d'informations ici :