以下是 Controller 代码,似乎通过 if 语句工作,但数据库中的数据没有更新。
public function actionUpdate($id)
{
$model = $this->findModel($id);
if ($_model = Yii::$app->request->post() && $model->save()) {
return $this->redirect(['view', 'id' => $model->id]);
} else {
return $this->render('update', [
'model' => $model,
]);
}
}
我怀疑问题在于它是用户 CRUD 代码的一部分,并且表单仅更新少数字段(不包括密码、authKey 等)。
请帮忙。
谢谢
最佳答案
更改您的代码
if ($_model = Yii::$app->request->post() && $model->save()) {
致:
if ($model->load(Yii::$app->request->post()) && $model->save()) {
关于activerecord - Yii2 Active Record 类 load() 或 save() 不更新数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26837152/