Я успешно работал с помощью http://www.yiiframework.com/wiki/653/displaying-sorting-and-filtering-model-relations-on-a-gridview/ . Который работает отлично, где мое имя отношения – всего лишь одно слово. Но где мое имя отношения – это что-то вроде subSector
который я получаю: Column not found: 1054 Unknown column 'subSector.sub_sector' in 'where clause'
.
public function search($params) { $query = Product::find(); // add in relation to be able to search with $query->joinWith(['sector', 'subSector']; ... $dataProvider->sort->attributes['sub_sector_search'] = [ // The tables are the ones our relation are configured to 'asc' => ['subSector.sub_sector' => SORT_ASC], 'desc' => ['subSector.sub_sector' => SORT_DESC], ]; ... $query->andFilterWhere([ 'product_id' => $this->product_id, ... ]) ->andFilterWhere(['like', 'subSector.sub_sector', $this->sub_sector_search])
Я также добавил параметр ниже инициализации класса и добавил безопасный термин в правила.
До сих пор все три отношения одного слова работали для фильтрации и оба отношения модели, которые возвращают unknown column
camelCase.