всем привет
нужно реализовать возможность сортировки записей в GridView посредством выпадающего списка
есть три таблицы и отношения hasMany со связующей таблицей sever_map_artcat
sever-article -> sever_map_artcat <- sever_category
что было в самом начале:
картинка 1
как есть сейчас:
картинка 2
сортировка, не производится по номеру id_cat ибо не знаю как этого достичь во вновь созданной колонке
дополнительную колонку вывожу так:
[
'attribute' => 'id_art',
'label' => 'Категория',
'value' => function($data){
return '';
},
'filter' => ArrayHelper::map(
SeverCategory::find()
->orderBy('id_cat')
->asArray()->all(),
'id_cat','name'),
'options' => ['width' => '120'],
],
где id_art поставлен от безысходности, а value заполняю пустотой ибо не знаю как туда вставить название категории
есть два метода в модели SeverArticle:
public function getSeverMapArtcats()
{
return $this->hasMany(SeverMapArtcat::className(), ['id_art' => 'id_art']);
}
public function getItems()
{
return $this->hasMany(SeverCategory::className(), ['id_cat' => 'id_cat'])
->viaTable('sever_map_artcat', ['id_art' => 'id_art']);
}
короче - не выходит каменный цветок у данилы-мастера
ай нид ё хелп!