фильтрация посредством DropDownList

всем привет

нужно реализовать возможность сортировки записей в 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']);

}

короче - не выходит каменный цветок у данилы-мастера

ай нид ё хелп!

обсуждение тут = http://yiiframework.ru/forum/viewtopic.php?f=19&t=23721