我有两个提交按钮(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');
它将值写入“测试”列中。
答案 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,
]);
}