Yii2 Active Record类load()或save()不更新数据

时间:2014-11-10 05:10:50

标签: activerecord yii2

以下是似乎通过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等)。

请帮忙。

由于

1 个答案:

答案 0 :(得分:4)

更改您的代码
if ($_model = Yii::$app->request->post() && $model->save()) {

到:

if ($model->load(Yii::$app->request->post()) && $model->save()) {