使用 MultipleInput 时怎么接收 post 提交的参数 [ 2.0 版本 ]
在 views 的 create.php 页面 ActiveForm 中使用 MultipleInput 创建多输入表单。
<?php
$form = ActiveForm::begin([
'enableAjaxValidation' => true,
'enableClientValidation' => true,
'validateOnChange' => false,
'validateOnSubmit' => true,
'validateOnBlur' => false,
]);?>
<?= $form->field($modelInf, 'invoiceinfo')->widget(MultipleInput::className(), [
'max' => 10,
'cloneButton' => true,
'columns' => [
[
'name' => 'number',
'type' => \kartik\select2\Select2::class,
'title' => '商品',
'defaultValue' => 1,
'options' => [
'data' =>[ArrayHelper::map(\backend\models\Goods::find()->asArray()->all(), 'id', 'number')],
],
],
[
'name' => 'degrees',
'title' => '度数',
'defaultValue' => 0,
'enableError' => true,
'options' => [
'class' => 'input-degrees',
]
],
[
'name' => 'astigmia',
'title' => '散光',
'defaultValue' => 0,
'enableError' => true,
'options' => [
'class' => 'input-astigmia',
]
],
[
'name' => 'qty',
'title' => '数量',
'defaultValue' => 1,
'enableError' => true,
'options' => [
]
],
[
'name' => 'price',
'title' => '单价',
'defaultValue' => 0.00,
'enableError' => true,
'options' => [
]
]
]
])->label(false); ?>
然后在 controller 文件里面接收用户输入内容:
public function actionCreate()
{
if ($modelInf->load(Yii::$app->request->post())) {
$modelInf->save(false);
return $this->redirect(['view', 'id' => $user->id]);
} else {
return $this->render('create', [
'modelInf' => $modelInf,
]);
}
}
现在 问题是,数据保存到数据库里面是空数据, 打印 $modelInf 也是空数组。
请问,MultipleInput 这个怎么接收 post 数据。
谢谢
共 0 个回答
没有找到数据。
tesren
注册时间:2020-02-13
最后登录:2020-05-19
在线时长:9小时23分
最后登录:2020-05-19
在线时长:9小时23分
- 粉丝0
- 金钱485
- 威望0
- 积分575