首页 > 解决方案 > Yii2 活动数据提供者分页无法正常工作

问题描述

我的网站上有一个 yii2 列表视图。我必须加载大约 5000 条记录。我的搜索过滤器就像

$query = Car::find();
$dataProvider = new ActiveDataProvider([
            'query' => $query,
            'pagination' => [
                'pageSize' => 10,
            ],
        ]);
$this->load($params);

我已将 10 的页面大小应用于活动数据提供程序。但页面仍会加载整个 5000 条记录。因此加载网页需要花费太多时间。我想先快速加载 10 条记录,然后通过分页加载每页。

标签: phplistviewyii2cactivedataprovider

解决方案


正如文档所说,这必须是一个pagesize属性,而不是一个pageSize. 这里是链接:Class yii\data\ActiveDataProvider 尝试改变这个:

$dataProvider = new ActiveDataProvider([
            'query' => $query,
            'pagination' => [
                'pageSize' => 10,
            ],
        ]);

对此:

$dataProvider = new ActiveDataProvider([
            'query' => $query,
            'pagination' => [
                'pagesize' => 10,//<---------
            ],
        ]);

希望能帮助到你。


推荐阅读