Yii2 post 控制器中的请求

Yii2 post request in controller

我有两个提交按钮(提交 1 和提交 2)。当我单击 "submit2" 时,控制器应该在我的数据库中的特定列 (abgerechnet) 中写入一个值 (1)。

   public function actionUpdate($id)
{   
        $model = $this->findModel($id);

        if ($model->load(Yii::$app->request->post()) && $model->save()) {
            if(isset($_POST['submit2']) )
            {
                 $request = Yii::$app->request;
                 $test= $request->post('test', '1');
            }
            return $this->redirect(['view', 'id' => $model->ID]);
        }

        return $this->render('update', [
            'model' => $model,
        ]);

}

但是当我点击按钮 "submit2" 时,列 "test" 仍然是空的。 随着行 $request = Yii::$app->request; $test= $request->post('test', '1'); 它应该在 "test".

列中写入值

如果您想根据 $_POST['submit2'] 更新模型中的 abgerechnet 列,那么您应该在调用 model->save()

之前设置值
public function actionUpdate($id)
{   
      $model = $this->findModel($id);

      if ($model->load(Yii::$app->request->post()) ) {
          if(isset($_POST['submit2']) )
          {
              $model->abgerechnet = 1;
          }
          $model->save();
          return $this->redirect(['view', 'id' => $model->ID]);
      }

      return $this->render('update', [
          'model' => $model,
      ]);

}