yii2 分页

基于数据提供者

    public function actionIndex()
    {
        $page = Yii::$app->get('page', 0);
        $modelClass = $this->modelClass;
        return new ActiveDataProvider(
            [
                'query' => $modelClass::find()->asArray(),
                'pagination' => ['pageSize' =>10, 'page' => $page],
            ]
        );
    }

基于分页类

public function actionIndex()
{
    $query = Article::find()->where(['status' => 1]);
    $countQuery = clone $query;
    $pages = new Pagination(['totalCount' => $countQuery->count()]);
    $models = $query->offset($pages->offset)
        ->limit($pages->limit)
        ->all();

    return $this->render('index', [
         'models' => $models,
         'pages' => $pages,
    ]);
}

 基于分页类实现接口

        //分页
        $new_pageSize = Yii::$app->request->get('limits');
        $new_page = Yii::$app->request->get('page');

        $query = Train::find()->where(['status' => 1])->orderBy("id desc");
        $pageSize = $new_pageSize ? $new_pageSize : 10;
        $page = $new_page - 1 ? $new_page - 1 : 0;
        $pagination = new Pagination([
            'defaultPageSize' => $pageSize,
            'totalCount' => $query->count(),
            'page' => $page,
        ]);
        $data =$query->offset($pagination->offset)->limit($pagination->limit)->asArray()->all();
原文地址:https://www.cnblogs.com/huay/p/11464876.html