palkan_karabov
@palkan_karabov
PressF1

Как в yii2 задать сортировку DESC по умолчанию для всего сайта?

По умолчанию yii2 получает данные от БД с сортировкой ASC. Как задать сортировку по умолчанию для всего сайта, либо, хотя бы, для каждой модели по-отдельности?
  • Вопрос задан
  • 4686 просмотров
Решения вопроса 1
slo_nik
@slo_nik Куратор тега Yii
Добрый день.
Вариантов несколько, для одной модели.
Первый
$dataProvider->sort->defaultOrder = ['id' => SORT_DESC];

Второй при формировании $dataProvider
$dataProvider = new ActiveDataProvider([
            'query' => $query,
            'sort' => [
                'defaultOrder' => ['id' => SORT_ASC]
            ]
        ]);
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
atis2345
@atis2345
PHP developer
Зачем?
Разве трудно сделать так:
User::find()
->orderBy(['id' => SORT_DESC])
->all();


UPD: вынеси в отдельный репозиторий.

class UsersRepository
{
    public function getLastUsers()
    {
        return new ActiveDataProvider([
            'query' => User::find(),
            'sort'  => ['defaultOrder' => ['id' => SORT_DESC]]
        ]);
    }
}
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы