Php Yii2 Kartik多选列表错误数组_combine()
我使用带有多个选项的Kartik select dropDownList 我可以在循环中添加一些项目,但无法更新项目的,因为我得到了 怎么了 在循环中创建新项的我的控制器操作Php Yii2 Kartik多选列表错误数组_combine(),php,oop,yii2,Php,Oop,Yii2,我使用带有多个选项的Kartik select dropDownList 我可以在循环中添加一些项目,但无法更新项目的,因为我得到了 怎么了 在循环中创建新项的我的控制器操作 public function actionCreate() { $model = new reservation(); if (Yii::$app->request->isAjax && $model->load(Yii::$app->request->
public function actionCreate()
{
$model = new reservation();
if (Yii::$app->request->isAjax && $model->load(Yii::$app->request->post())) {
Yii::$app->response->format = Response::FORMAT_JSON;
return ActiveForm::validate($model);
}
if ($model->load(Yii::$app->request->post())) {
foreach ($_POST['Reservation']['id_place'] as $key=> $item) {
$model->id_reservation = NULL;
$model->create_at = date('Y-m-d H:i:s');
$model->auth_key = Yii::$app->security->generateRandomString();
$model->id_place=$item;
$model->isNewRecord = true;
$model->save();
}
return $this->redirect(['view', 'id' => $model->id_reservation]);
} else {
$model->auth_key = Yii::$app->security->generateRandomString();
return $this->renderAjax('create', [
'model' => $model,
]);
}
}
我的更新操作
public function actionUpdate($id)
{
$model = $this->findModel($id);
if ($model->load(Yii::$app->request->post()) && $model->save()) {
return $this->redirect(['view', 'id' => $model->id_reservation]);
} else {
return $this->render('update', [
'model' => $model,
]);
}
}
我的看法
echo $form->field($model, 'id_place')->widget(Select2::classname(), [
'theme' => Select2::THEME_KRAJEE,
'language' => 'pl',
'options' => ['placeholder' => 'Select place',
'id' => 'rezerwacja',
'multiple'=>true,
],
'pluginOptions' => [
'allowClear' => true,
],
])->label("Miejsce: max (5)"); ?>
我以前没有使用过这个小部件,但是我在github上发现了相同的错误:()。乍一看,您错过了视图中小部件中的数据属性<代码>$form->field($model,'id_place')->小部件(选择2::classname(),['data'=>$data,…])->标签(“Miejsce:max(5)”代码>$数据是选择选项data items()的数组。我希望它能帮助你。是的,你是对的!!它起作用了。我忘记了这一点,因为我使用动态加载选择thorug jquery;)现在,我设置了空数组“data”=>[],它正在工作。谢谢你,伙计。