Php 选择2 kartik yii2过账空值问题
我在yii2中使用了Kartik Select2小部件,我在视图中使用了该小部件,并定义了要显示在“选择到”下拉列表中的数组,但当我选择一些项目并发布表单时,它总是向我的控制器发布空值。以下是我视图中的ActiveForm:Php 选择2 kartik yii2过账空值问题,php,yii,widget,yii2,yii-extensions,Php,Yii,Widget,Yii2,Yii Extensions,我在yii2中使用了Kartik Select2小部件,我在视图中使用了该小部件,并定义了要显示在“选择到”下拉列表中的数组,但当我选择一些项目并发布表单时,它总是向我的控制器发布空值。以下是我视图中的ActiveForm: <?php $form = ActiveForm::begin([ 'options' => ['enctype' => 'multipart/form-data'], ]); ?> <?= $form->field($model,
<?php
$form = ActiveForm::begin([
'options' => ['enctype' => 'multipart/form-data'],
]);
?>
<?= $form->field($model,'title')->textinput(); ?>
<?= $form->field($model,'blog')->textarea(); ?>
<?= $form->field($model,'imageFile')->fileinput(); ?>
<?=
$form->field($model, 'tag')->widget(Select2::classname(), [
'data' => $tags,
'options' => ['placeholder' => '...تگ ها را انتخاب کنید'],
'pluginOptions' => [
'allowClear' => true,
'multiple' => true,
],
]);
?>
<?= Html::SubmitButton('ارسال',['class' => 'btn btn-success green']); ?>
<?php ActiveForm::end(); ?>
若您在控制器中得到空值,那个么主要原因是模型规则。根据规则加载函数设置模型规则中存在的模型属性,可能是您的模型规则中不存在标记属性。这就是它为空的原因,将“标记属性作为安全规则”
请给我们看看你们的模型规则。PS:您应该使用带有
Controller::redirect()
的路由。这非常好。谢谢
public function actionInsertBlog()
{
$model = new Blog();
$tagModel = new Tag();
if ($model->load(Yii::$app->request->post())) {
var_dump($model->tag);
die();
if ($model->insertBlog()) {
Yii::$app->response->redirect('?r=blog/index',301)->send();
} else {
Yii::$app->response->redirect('?r=blog/insert-blog',301)->send();
}
} else {
$tags = ArrayHelper::map($tagModel->find()->asArray()->all(),'id','tag');
return $this->render('insert',['model' => $model , 'tagModel' => $tagModel , 'tags' => $tags]);
}
}
[['tag'], 'safe'],