Пытаюсь вставить плагин \kartik\select2\Select2 в unclead\multipleinput\MultipleInput
Вот инструкция от MultipleInput
Вот код вставки
<?php
echo $form->field($model, 'items')->widget(MultipleInput::className(), [
'columns' => [
[
'name' => 'slide',
'type' => \kartik\select2\Select2::className(),
'options' => [
'options' => ['placeholder' => 'Поиск ...'],
// 'initValueText' => empty($model->items) ? '' : Item::findOne($model->items)->title,
'pluginOptions' => [
'allowClear' => true,
'minimumInputLength' => 3,
'language' => 'ru',
'ajax' => [
'url' => \yii\helpers\Url::to(['item-list']),
'dataType' => 'json',
'data' => new JsExpression('function(params) { return {q:params.term}; }')
],
'escapeMarkup' => new JsExpression('function (markup) { return markup; }'),
'templateResult' => new JsExpression('function(item_id) { return item_id.text; }'),
'templateSelection' => new JsExpression('function (item_id) { return item_id.text; }'),
],
],
],
]
])->label(false);
?>
1) Почему то сохраняет пустые значения
2) После сохранения, не показывает сохраненные поля
Сделал для этого в модели
public $items;
public function init()
{
parent::init();
$title = [];
foreach ($this->itemall as $item){
$title[]['slide'] = empty($item['item_id']) ? '' : Item::findOne($item['item_id'])->title;
}
$this->items = $title;
}
public function getItemAll()
{
return self::find()->orderBy(['id' => SORT_ASC])->asArray()->all();
}
И вроде работает но это инвалид, так как ПЕРВАЯ проблема так и осталась(сохраняет пустые поля)
И второе я в базе получаю массив из id и в public function init() в модели ищу по ним названия а потом массивом передаю в public $items
А хотелось бы передавать массив из id шников в саму форму виджета чтобы принимал id и искал title сам тут
'initValueText' => empty($model->items) ? '' : Item::findOne($model->items)->title,
Но нечего не выходит так как $model->items содержит массив
Что посоветуете?