Не понимаю как заставить фильтр отображаться. Прошу помочь с настройкой фильтра по связанным полям.
В SearchModel строится запрос из двух таблиц '
shop_product' (product_id, published и т.д.)- продукты и 
'shop_product_value' (product_id, param_id, value)- значения параметров продуктов, которые связаны по 
product_id:
$query = (new \yii\db\Query())
    		->select(['p.product_id', 'Опубликован' => 'p.published', 'Price' => 'p1.value', 'Description' => 'p2.value'])
    		->from(['p' => 'shop_product'])
    		
    		->leftJoin('shop_product_value AS p1', 'p.product_id = p1.product_id AND p1.param_id IN (2)')
    		->leftJoin('shop_product_value AS p2', 'p.product_id = p2.product_id AND p2.param_id IN (5)')
    		
    		->indexBy('product_id');
далее:
$dataProvider = new ActiveDataProvider([
    			'query' => $query,
    			'pagination' => [
    				'pageSize' => 10,
    			],
    		]);
    		...
    		$query->andFilterWhere([
    			'p.product_id' => $this->product_id, // генерирует поле фильтра
    			'p.published' => $this->published,  //фильтра нет!
    			'p1.value' => ???????, //фильтра нет!
    
    		]);
    		...
    		return $dataProvider;
 - Как заставить фильтр работать в таком запросе?
 - Почему если добавить псевдоним 'Опубликован' => 'p.published', фильтр перестает выводится, но если убрать 'Опубликован' то фильтр появляется?
 - Как вывести фильтр для полей из leftJoin???
GridView пока для упрощения вывожу так:
GridView::widget([
    		'dataProvider' => $dataProvider,
    		'filterModel' => $searchModel,
    		//'columns' => $columns,
    	]);
Буду благодарен за помощь, перепробовал уже всё что можно :-(...