есть такая БД, как в gridView сделать сортировку продуктов по имени локации
UPD: решение, как всегда, в документации. в данной ситуация поможет
этот метод.
Мой код:Модель Productspublic function getLocations()
{
return $this->hasMany(Locations::className(), ['id' => 'location_id'])
->viaTable('product_to_location', ['product_id' => 'id']);
}
Класс ProductSearch$dataProvider = new ActiveDataProvider([
'query' => $query,
'pagination' => [
'pageSize' => 100,
],
'sort' => ['defaultOrder' => ['name' => SORT_ASC],
'attributes' => [
'location' => [
'asc' => ['locations.name' => SORT_ASC], //locations это имя таблицы в БД, а не имя класса или геттера
'desc' => ['locations.name' => SORT_DESC],
]
]
]
]);