YII2.0框架分页
这篇文章主要介绍了Yii分页用法,以实例形式详细分析了比较常见的几种分页方法及其应用特点,非常具有实用价值,需要的朋友可以参考下:
在这里我主要联查的 book 表和 book_press 两张表进行分页的
Controller
/**
*@action yii多表链接查询后分页
*@-----------------------------------------------------------
*@ book 表和 bookpress 联查后分页
*/
public function actionIndex()
{
$model = new Book; //实例化model
$data = $model -> pages(); //调用pages 进行联查数据
$pages = new Pagination([
"totalCount" =>$data->count(),
"pageSize" =>5, //pageSize 每页显示的条数
]);
$models = $data->offset($pages->offset)->limit($pages->limit)->asArray()->all();
return $this->render("index",[
"models" => $models,
"pages" => $pages,
]);
}
Model
/**
* @inheritdoc 多表联查数据
*/
function pages()
{
//注意: 查询的时候不能加 all 或者 asArray 查出来是对象就可以了
return $this->find()
->select("*")
->innerJoin("`book_press` as bp on `bp`.`book_id` = `book`.`title_id`");
/* 此处去掉
->asArray()
->all();
*/
}VIEWS
<?php
use yiihelpersHtml;
use yiiwidgetsLinkPager;
?>
<table border=1>
<?php foreach ($models as $model): ?>
<tr>
<td><?= $model["title"]; ?></td>
<td><?= $model["author"]; ?></td>
</tr>
<?php endforeach; ?>
</table>
<?= LinkPager::widget(["pagination" => $pages,
"firstPageLabel" => "首页",
"lastPageLabel" => "最后一页",
"prevPageLabel" => "上一页",
"nextPageLabel" => "下一页",
"maxButtonCount"=>5, //控制每页显示的页数
]); ?>
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。
- 上一篇: YII2 列表( 不用自带的gridview) 分页+搜索
- 下一篇: Yii2.0自定义分页方法
