代潇瑞博客

Yii2分页

| 点击次数:4822

在运用分页的时候,首先是需要把Pagination引入的 use yii\data\Pagination。

controller.php

function actionIndex(){
    $query = Article::find()->where(['status' => 1]);//在这一步的时候是没有进行数据库查询的,只是传了一个query对象,也就是sql语句,并没有执行,只有->all()以后才会执行!
    $countQuery = clone $query; //这样的话可以节省资源,至少在下面运用查选count的时候就不会说的把什么leftJoin的表的东西全部弄出来,这样可以节省不少资源,如果后面也还用到上面的sql语句也方便很多!
    $pages = new Pagination(['totalCount' => $countQuery->count()]);  //这句话是实例化pages,然后得出sql语句的总数
    $pages->defaultPageSize = 10;  //这里可以设置每页显示的数量,默认是20个
    $models = $productJoin->offset($pages->offset)
          ->limit($pages->limit)
          ->all();
}

view.php

echo LinkPager::widget([
   'pagination' => $pages, //这样的话就可以显示出yii里面自带的分页了
]);
【相关推荐】

触屏版 | 电脑版

Copyright © 2013 代潇瑞博客手机版

QQ: 446673330

粤ICP备13071969号-1