Temo Yii 2 Query Builder è per query selezionate solo.
Per aggiornamento query hai almeno tre opzioni:
-
SQL grezzo:
\Yii::$app->db->createCommand('update user set status = 1 where age > 30')->execute();
-
SQL non elaborato con segnaposto (per impedire l'iniezione di SQL)
\Yii::$app->db->createCommand('update user set status = :status where age > 30')->bindValue(':status','1')->execute();
-
update() metodo
// update user set status = 1 where age > 30 \Yii::$app->db->createCommand()->update('user', ['status' => 1], 'age > 30')->execute();
Maggiori informazioni qui: