Yii2:如何在$ model之外发送数据?

时间:2018-11-30 16:28:57

标签: model-view-controller model yii2 hidden-field

我使用Yii2使用此提交按钮将一个模型的表单从视图发送到其控制器:

<?= Html::submitButton($model->isNewRecord ? 'Create' : 'Update', ['class' => $model->isNewRecord ? 'btn btn-success' : 'btn btn-primary']) ?>

还需要在按下按钮时向控制器发送一个布尔变量,但是我不知道如何在模型的外部中包含它。

我可以定义 Html :: hiddenInput()来解决它,但是它将在$ model中包含新的隐藏字段。

1 个答案:

答案 0 :(得分:0)

据我了解,您需要知道用户何时按下提交按钮,因此必须为提交按钮设置 name 属性。您可以在选项中设置该属性。 问题示例

Html::submitButton($model->isNewRecord ? 'Create' : 'Update', ['class' => $model->isNewRecord ? 'btn btn-success' : 'btn btn-primary','name'=>'submit-btn','value'=>($model->isNewRecord? 'create' : 'update')])

有关更多信息,请阅读此链接submitButtonsubmitInput

对于控制器中的句柄请求,请使用 Yii :: $ app-> request-> post()

示例:

$post = Yii::$app->request->post();
if(isset($post['submit-btn']) && ($post['submit-btn'] == 'create')){
       /** Your Code */ 
}