YII2框架中分页组件的使用方法示例
本文实例讲述了YII2框架中分页组件的使用方法。分享给大家供大家参考,具体如下:
当数据过多,无法一页显示时,我们经常会用到分页组件,YII2中已经帮我们封装好了分页组件。
首先我们创建操作数据表的AR模型:
然后创建分页的控制器:
request->get('name',''); $where='1=1'; $param=[]; //如果查询条件很多,可以按这种方式,拼where条件 if(!empty($name)){ $where.="ANDname=:name"; $param=array_merge($param,[':name'=>$name]); } //设置分页大小,为了演示,我写成了2 $pageSize=2; $user=MyUser::find()->where($where,$param); //创建分页组件 $page=newPagination([ //总的记录条数 'totalCount'=>$user->count(), //分页大小 'pageSize'=>$pageSize, //设置地址栏当前页数参数名 'pageParam'=>'p', //设置地址栏分页大小参数名 'pageSizeParam'=>'pageSize', ]); //获取数据 $data=$user->orderBy('idDESC') ->offset($page->offset) ->limit($page->limit) ->asArray() ->all(); return$this->renderPartial('index',[ 'data'=>$data, 'page'=>$page, ]); } }最后就是显示数据分页:
分页显示 $page, 'firstPageLabel'=>'首页', 'lastPageLabel'=>'尾页', 'nextPageLabel'=>'下一页', 'prevPageLabel'=>'上一页', //设置class样式 'options'=>['class'=>'page'], ])?>