当前位置:K88软件开发文章中心网站服务器框架Yii 2.0 → 文章内容

分页(Pagination)

减小字体 增大字体 作者:佚名  来源:网上搜集  发布时间:2019-1-26 15:29:14

由  创建, 最后一次修改 2016-02-24 分页当一次要在一个页面上显示很多数据时,通过需要将其分为 几部分,每个部分都包含一些数据列表并且一次只显示一部分。这些部分在网页上被称为 分页。如果你使用?数据提供者?和?数据小部件?中之一, 分页已经自动为你整理。否则,你需要创建 \yii\data\Pagination 对象为其填充数据,例如 \yii\data\Pagination::$totalCount, \yii\data\Pagination::$pageSize 和 \yii\data\Pagination::$page,在 查询中使用它并且填充到 \yii\widgets\LinkPager。首先在控制器的动作中,我们创建分页对象并且为其填充数据: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, ]);}其次在视图中我们输出的模板为当前页并通过分页对象链接到该页:foreach ($models as $model) { // 在这里显示 $model}// 显示分页echo LinkPager::widget([ 'pagination' => $pages,]);

分页(Pagination)