Microsoft SQL Server + Pagination + SORT = ?

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
JSimon
Сообщения: 21
Зарегистрирован: 2017.07.13, 18:35

Microsoft SQL Server + Pagination + SORT = ?

Сообщение JSimon »

Всем доброго времени суток, может кто сталкивался имеется странное поведение сортировки, когда не применена постраничная навигация то сортировка работает нормально, когда же применена то на второй странице и далее сортировка по одному полю ведёт себя совсем странно, как будто есть какое-то дефолтное поле и оно добавляет условия сортировки, может кто сталкивался ?

пример запроса:

$model = Orders::find();

$model->orderBy(['Summa' => SORT_ASC]);

$pages = new Pagination(['totalCount' => $count = $model->count(), 'pageSize' => 200]);

$model = $model->offset($pages->offset)->limit($pages->limit)->all();


Ещё раз уточню, проблемы начинаются на второй странице и далее. Используется Microsoft SQL Server:


'dbMs' => [
'class' => 'yii\db\Connection',
'driverName' => 'sqlsrv',
'dsn' => 'sqlsrv:Server=xx;Database=xx',
'username' => 'xx',
'password' => 'xx',
'charset' => 'utf8'
],
Аватара пользователя
Alexum
Сообщения: 683
Зарегистрирован: 2016.09.26, 10:00

Re: Microsoft SQL Server + Pagination + SORT = ?

Сообщение Alexum »

Для стабильной работы offset добавляйте вторым параметром сортировки уникальное поле (лучше всего id).
JSimon
Сообщения: 21
Зарегистрирован: 2017.07.13, 18:35

Re: Microsoft SQL Server + Pagination + SORT = ?

Сообщение JSimon »

К сожалению не помогло, вот скрин сортировки https://gyazo.com/05db2feee09d95f9b3011823095e1847
Как будто есть какое-то поле ещё по которому идёт вторая сортировка, но как видно из кода применена только одна сортировка, ума не приложу в чём может быть дело
Ответить