Сортировка в ActiveDataProvider

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
makbeth
Сообщения: 55
Зарегистрирован: 2014.01.06, 11:27

Сортировка в ActiveDataProvider

Сообщение makbeth »

Доброго дня! Столкнулся с такой проблемой, что при использовании linkSorter и OrderBy() в одном запросе в очередности сортировок сортировка от listSorter-а всегда идет на последнем месте, соответственно как правило игнорируется. Мне же нужно чтобы при наличии параметра sort сначала шла сортировка по нему, а уже потом бралась в расчет сортировка через orderBy.
Например при активной сортировке в linkSorter-е имеем вот такой ORDER BY

Код: Выделить всё

ORDER BY `ups`.`date_up` DESC, `date_continue` DESC, `price`
, а для правильной работы надо, чтобы запрос получился следующего вида:

Код: Выделить всё

ORDER BY `price`, `ups`.`date_up` DESC, `date_continue` DESC
В searchModel все просто: queryBuilder. Сам же orderBy добавляю так:

Код: Выделить всё

$query->addOrderBy(['ups.date_up' => SORT_DESC, 'date_continue' => SORT_DESC]);
Заранее благодарю.
zelenin
Сообщения: 10596
Зарегистрирован: 2013.04.20, 11:30

Re: Сортировка в ActiveDataProvider

Сообщение zelenin »

в linkSorter делайте дефолтную сортировку
Ответить