@akula22

Как сделать фильтр в GridView по полю которого нет в базе данных?

Подскажите как сделать фильтр по полю(type) которого нет в базе, точнее оно есть, но за serialize'но
это поле можно получить так
$conf = unserialize($model->conf);
$type = $conf['type'];

на данный момент гридвью оформил так
[
 'attribute' => 'type',                 
     'value' => function ($model) {
     $conf = unserialize($model->conf);
     return $model->getType($conf['type']);
 },
 'filter' => Html::activeDropDownList(
 $searchModel,
 'type',
  \app\modules\tour\models\TourSetting::getTypeArray(),
 ['class' => 'form-control', 'prompt' => 'Все']
 )
 ],

Теперь осталось разрулить в SearchModel'и, подскажите как?
  • Вопрос задан
  • 79 просмотров
Пригласить эксперта
Ответы на вопрос 1
webinar
@webinar Куратор тега Yii
Учим yii: https://youtu.be/-WRMlGHLgRg
Никак. Если нужно поиск по этим данным реализовать, надо привести структуру базы к правильному виду. Вместо serialize - связанная таблица.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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