@freshik312

Как правильно реализовать передачу данных в gridview yii2?

Добрый день !
Помогите решить проблему..
Суть: есть грид товаров, которые сравниваются пользователем. Каждый повар получает модель "attributes", в который я записываю название и данные атрибута товара [ 'высота' => '100', 'цвет' => 'зеленый' ].
Т.е. получаю такие данные:
[
[0] => [
    'name' => 'Test name',
    'price' => 300,
    ...
    'attributes' => [
            'color' => 'green',
            'width' => 100,
        ]
    ],
[1] => [
    'name' => 'primer prod',
    'price' => 100,
    ...
    'attributes' => [
            'color' => 'yellow'
        ]
    ]
]

Учитывая, что админ будет создавать и удалять атрибуты - не могу заранее установить необходимые столбцы (columns).
Как мне добавить столбцы с название и значение полученного из атрибутов, при этом если нету атрибута (как 'primer prod' не имеет 'width') - в значение ставить "нет данных" ?
  • Вопрос задан
  • 90 просмотров
Решения вопроса 1
myks92
@myks92 Куратор тега Yii
Нашёл решение — пометь вопрос ответом!
'attributes' => array_map(function (Value $value) {
    return [
        'label' => $value->characteristic->name,
        'value' => $value->value,
    ];
}, $product->values),
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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