Использую этот виджет
https://github.com/unclead/yii2-multiple-input для того чтобы добавлять ссылки с названием для поста.
Так вот у него в примере использования показано как использовать, запихивать все данные title и link (в моем случае) в json и сохранять в одно поле базы
$model->sites = \yii\helpers\Json::encode($model->sites);
$model->save();
а для того чтобы в редактирование поста эти поля выводились использовать
public function afterFind() {
parent::afterFind();
$this->sites = \yii\helpers\Json::decode($this->sites);
}
вот код во вьюхе
<?= $form->field($model, 'sites')->widget(MultipleInput::className(), [
'columns' => [
[
'name' => 'title',
'title' => 'Название лендинга',
'enableError' => true,
'options' => [
'class' => 'input-priority'
]
],
[
'name' => 'link',
'title' => 'Ссылка',
'enableError' => true,
'options' => [
'class' => 'input-priority'
]
]
]
]);
?>
Но дело в том что мне не нужно чтобы сохранялось в json в одно поле, мне надо чтобы эти данные сохранялись в отдельной таблице чтобы было их легко искать, с этой задачей я справился, сделал таблицу sites (id, title, link, post_id) и сохраняю туда все эти данные.
Проблема перед мной стоит в выводе этих полей в редактирование. Как я понимаю надо эти данные (id, title, link, post_id) собрать в многомерный массив и присвоить к переменой $model->sites
Как это сделать?