Yii 2.0 权威指南

分页

当一次要在一个页面上显示很多数据时,通过需要将其分为 几部分,每个部分都包含一些数据列表并且一次只显示一部分。这些部分在网页上被称为 分页。

如果你使用 数据提供者数据小部件 中之一, 分页已经自动为你整理。否则,你需要创建 \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, ]); 

版权及转载说明

本站原创、转载文章欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区

本站转载文章版权归原作者所有,如发现本站文章涉嫌侵权请点击「联系我们」反馈,本站将给予删除

本教程数据来源「http://www.yiichina.com/doc/guide/2.0」