Yii Framework使用DAO方式查询分页代码

Posted 苦糖?

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Yii Framework使用DAO方式查询分页代码相关的知识,希望对你有一定的参考价值。

由于这次项目用到两表合并查询,所以AR查询不太适合了,所以这次想采用DAO方式查询,但分页代码从官网找了几天都没搞到,所以自己写了个DAO分页的例子,给大家分享一下!

控制器代码如下:

$sql = "SELECT * FROM table WHERE cid=2 and status=1";
$criteria=new CDbCriteria();
$result = Yii::app()->db->createCommand($sql)->query();
$pages=new CPagination($result->rowCount);
$pages->pageSize=22;
$pages->applyLimit($criteria);
$result=Yii::app()->db->createCommand($sql." LIMIT :offset,:limit");
$result->bindValue(:offset, $pages->currentPage*$pages->pageSize);
$result->bindValue(:limit, $pages->pageSize);
$posts=$result->query();
$this->render(index,array(
posts=>$posts,
pages=>$pages,
));

视图代码如下: 循环输出

<?php 
foreach($posts as $model):
?>
<?php
echo Chtml::link($model[title],array(article/view,id=>$model[id]));
?>
<?php
endforeach;
?>

分页widget代码:

<?php 
$this->widget(CLinkPager,array(pages=>$pages));
?>

以上是关于Yii Framework使用DAO方式查询分页代码的主要内容,如果未能解决你的问题,请参考以下文章

Yii2中DAO

如何使用 Yii 框架命令 DAO 对象进行联合所有命令

Yii 2.0实现联表查询加搜索分页的方法示例

Yii2数据库分页操作方法介绍

如何使用 DAO 检测 Yii 中事务中的最后一个插入 ID?

yii2数据库操作DAO