【问题标题】:Yii2 post request in controllerYii2 在控制器中发布请求
【发布时间】:2018-11-09 13:56:19
【问题描述】:

我有两个提交按钮(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”按钮时,“test”列仍然为空。 随着行$request = Yii::$app->request; $test= $request->post('test', '1'); 它应该在“test”列中写入值。

【问题讨论】:

  • 请解释您的问题
  • 当我单击“submit2”按钮时,“test”列保持为空。

标签: post controller yii2 request action


【解决方案1】:

如果您想根据$_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,
      ]);

}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-06-08
    • 1970-01-01
    • 2018-05-12
    • 1970-01-01
    • 1970-01-01
    • 2015-09-23
    • 1970-01-01
    相关资源
    最近更新 更多