@AlexAll

Как в yii2 сделать из разных данных таблицы многомерный массив и вывести в одной переменной?

Использую этот виджет 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

Как это сделать?
  • Вопрос задан
  • 181 просмотр
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы