Yii: 设置查询最大记录数
设置查询记录数对于直接写sql而言,很简单就是设置limit
在Yii中,如果你使用ActiveRecord, 那么分别有两种情况需要处理。
1. 不分页
$criteria = new CDbCriteria; $criteria->condition = $condition; $criteria->params = $params; $criteria->order = $order $criteria->limit = 200;
2. 需要分页
$dataProvider=new CActiveDataProvider("Models",array( "criteria"=>array( "order"=>"id DESC", "limit"=>200, ), )); $this->render("last",array( "dataProvider"=>$dataProvider ));
上面这种情况不工作,查看Yii的源代码就知道,需要显式的初始化CActiveDataProvider的pagenation属性为false;(其默认值为null):"pagination"=>false。
否则criteria的limit不起作用,而是Pagenation的pageSize起作用。
假设你要实现数据分页,但又要限定总查询结果个数,目前Yii还不支持,得自己变通一下。
$criteria = $model->setCriteria($condition, array(), "`t`.`userId` DESC"); $num = User::model()->count($criteria); $num = $num>200?200:$num; $pages = new CPagination($num); ......
iefreer
声明:该文观点仅代表作者本人,入门客AI创业平台信息发布平台仅提供信息存储空间服务,如有疑问请联系rumenke@qq.com。
- 上一篇: Yii2日志使用方法
- 下一篇: PHP: 把数组存入文件