我该如何编写此代码
UPDATE tbl_user SET status=null WHERE status=12 and id != 1
到活动记录代码 - 像这样
$model = User::find()
->where(['status' => 12])
->andWhere('id != :id', [':id' => 1])
->all();
$model->status = null;
$model->save();
答案 0 :(得分:1)
您提供的有效记录代码似乎正确 如果代码没有保存,请尝试使用save(false)
ClassNotFoundException
如果在这种情况下保存了值,则检查验证规则..
否则你想要执行平面更新,你可以使用createCommand
$model = User::find()
->where(['status' => 12])
->andWhere('id != :id', [':id' => 1])
->all();
$model->status = null;
$model->save(false);
在你的情况下
$connection->createCommand()
->update('table_name', [SET_Values], 'CONDITION')
->execute();
答案 1 :(得分:0)
$connection = Yii::$app->getDb();
$connection ->createCommand()
->update('tbl_user', ['status' =>null], 'status=12 AND id != 1')
->execute();