ActiveDataProvider сортировка по json
Вообщем у меня в yii2 есть запрос в котором идёт сортировка по json. Но он не работает,вот как выглядит запрос:
return new ActiveDataProvider([
'query' => $query,
'pagination' => false,
'sort' => [
'defaultOrder' => [
new Expression("user_dictionary.workout_progress_card->>'" . $sort . "' ASC")
],
]
]);
Вообщем он выдаёт ошибку WHERE ("user_id"=$1) AND ("type"=$2) ORDER BY "0"
Прошу помощи.
Ответы (1 шт):
Автор решения: Moonwolf45
→ Ссылка
Вообщем сделал куда проще просто добавил сортировку в $query что строится выше:
if (array_key_exists('sort', $filter) && $filter['sort'] != 'undefined' && $filter['sort'] != '') {
$query->orderBy(new Expression("workout_progress_card->>'" . $filter['sort'] . "' ASC"));
}
return new ActiveDataProvider([
'query' => $query,
'pagination' => false,
]);