Yii2.0 分页问题 [ 2.0 版本 ]
1、查找模型后进行分页(默认用GridView::widget 中分页)
postSearch.php搜索模型
$query = Post::find()->orderBy('id DESC');
$dataProvider = new ActiveDataProvider([
'query' => $query,
'pagination'=>[
'pageSize' => 2,
],
'sort'=>[
'defaultOrder'=>[
'id'=> SORT_DESC,
'title'=> SORT_ASC,
]
]
]);
PostController
$searchModel = new postSearch();
$dataProvider = $searchModel->search(Yii::$app->request->queryParams);
return $this->render('index', [
'searchModel' => $searchModel,
'dataProvider' => $dataProvider,
]);
以上是在GridView::widget 中使用默认布局和分页
现在如果不想用默认分页,可以
<?= GridView::widget([
'dataProvider' => $dataProvider,
'filterModel' => $searchModel,
'pager'=>[
'options'=>['class'=>'hidden']
],
]) ?>
然后在需要显示分页的地方
<?= \yii\widgets\LinkPager::widget([
'pagination' => $dataProvider->getPagination(),
]); ?>
2、全部使用自定义的分页
$query = Post::find();
$countQuery = clone $query;
$pages = new Pagination([
'totalCount' =>$countQuery->count(),
'pageSize' => '2'
]);
$models = $query->offset($pages->offset)
->limit($pages->limit)
->OrderBy(['status'=>SORT_DESC])
->all();
$this->render('index', [
'models'=>$models,
'pages'=>$pages,
]);
视图:
//单独展示分页
<?= LinkPager::widget([
'pagination'=>$pages,
]) ?>
初学几天,有不对的地方请多多指正
dmodai
注册时间:2016-04-16
最后登录:2016-08-19
在线时长:9小时43分
最后登录:2016-08-19
在线时长:9小时43分
- 粉丝4
- 金钱560
- 威望40
- 积分1050
热门源码
- 基于 Yii 2 + Bootstrap 3 搭建一套后台管理系统 CMF
- 整合完 yii2-rbac+yii2-admin+adminlte 等库的基础开发后台源码
- 适合初学者学习的一款通用的管理后台
- yii-goaop - 将 goaop 集成到 Yii,在 Yii 中优雅的面向切面编程
- yii-log-target - 监控系统异常且多渠道发送异常信息通知
- 店滴云1.3.0
- 面向对象的一小步:添加 ActiveRecord 的 Scope 功能
- Yii2 开源商城 FecShop
- 基于 Yii2 开发的多店铺商城系统,免费开源 + 适合二开
- leadshop - 基于 Yii2 开发的一款免费开源且支持商业使用的商城管理系统
共 1 条评论
谢谢分享 学习下