php - Yii2 分页不适用于 orderBy

标签 php mysql pagination yii2

我正在尝试将 Yii2 分页与 orderBy 结合使用,但它无法正常工作。

这是我的代码:

$query = Blog::find()->where(['status' => 1])->orderBy('blog_id DESC');
$countQuery = clone $query;
$pages = new Pagination(['totalCount' => $countQuery->count()]);
$pages->pageSize = 12;
$pages->page = $_GET['page'];
$results = array();
$models = $query->offset($pages->offset)
          ->limit($pages->limit)
        //->orderBy('blog_id DESC')
          ->all();

我尝试了几种方案,但仍然得到错误的结果。

注意:分页在没有 orderBy 的情况下工作正常,但我需要它首先显示最新的项目。

最佳答案

试试这个

    $dataProvider = new ActiveDataProvider([
        'query' => Users::find()->andWhere('UserId > :uid',[':uid' => 1])->orderBy('UserId DESC'),
        'pagination' => array('pageSize' => 5),
    ]);

    return $this->render('index', [
        'dataProvider' => $dataProvider,
    ]);

关于php - Yii2 分页不适用于 orderBy,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35727088/

相关文章:

Java, preparedStatement, SQL_CALC_FOUND_ROWS, FoundRows() 它是如何工作的

PHP SQL 按名称分页

mysql - 使用 Laravel 5.1 分页从 MySQL 数据库中提取记录

php - PHP 中的嵌套 JSON 输出

php - PDO/MySQL 使用 if 语句获取多列

php - 如何使用 PHP 从日期降序过滤表中的数据

php - mysqli结果排序后获取一行的位置

php - 如何通过 HP 或平板电脑拍摄照片并使用 PHP 自动上传?

MYSQL:连接到 localhost 和 host.docker.internal

mysql - 40秒奇怪的sql性能谜题