控制器中的Yii2发布请求

时间:2018-11-09 13:56:20

标签: post controller yii2 request action

我有两个提交按钮(submit1和submit2)。单击“ 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”时,“测试”列为空。 与行$request = Yii::$app->request; $test= $request->post('test', '1'); 它将值写入“测试”列中。

1 个答案:

答案 0 :(得分:2)

如果要基于abgerechnet更新模型中的列$_POST['submit2'],则应在调用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,
      ]);

}