我想使用CDbCriteria和CActiveDataProvider显示数据库的完整数据列表。 我做的是:
$criteria=new CDbCriteria;
$criteria->alias = 'C';
if ( !$enablePagination ) {
$criteria->limit= 0;
$criteria->offset= 0;
}
调试CDbCriteria对象我看到了:
$criteria::CDbCriteria Object
(
[select] => *
[distinct] =>
[condition] =>
[params] => Array
(
)
[limit] => 0
[offset] => 0
[order] => name asc
[group] =>
[join] =>
[having] =>
[with] =>
[alias] => C
[together] =>
[index] =>
[scopes] =>
[_e:CComponent:private] =>
[_m:CComponent:private] =>
)
但是我跟踪了我的sql:
SELECT * FROM `tbl_category` `C` ORDER BY name asc LIMIT 10
如何删除限制条件?
Yii 1.1.14。
谢谢!
答案 0 :(得分:3)
试试这个:
$criteria->limit= -1;
如果limit小于0,则表示没有限制。
答案 1 :(得分:0)
您无法仅使用条件显示完整的数据列表。 CActiveDataProvider根据pageSize
选项自动获取数据库。
在pageSize
中设置CActiveDataProvider
选项,如下所示:
$dataProvider = new CActiveDataProvider('SomeModel', array(
'criteria'=>$criteria,
'pagination'=>array(
'pageSize' => SomeModel::model()->count(),
),
));
答案 2 :(得分:0)
试试这段代码:
$provider = new CActiveDataProvider('ModelClass', [
'pagination' => false,
'criteria' => $criteria,
]);