在运用分页的时候,首先是需要把Pagination引入的 use yii\data\Pagination。
controller.phpfunction 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.phpecho LinkPager::widget([
'pagination' => $pages, //这样的话就可以显示出yii里面自带的分页了
]);