gpt4 book ai didi

mysql - 带有限制和分页的 yii CActiveDataProvider

转载 作者:可可西里 更新时间:2023-11-01 06:28:55 24 4
gpt4 key购买 nike

我正在尝试从表中选择几行并将其呈现在多个页面中(分页)。这是模型中的一段代码:

   return new CActiveDataProvider('Downloads',
array(
'criteria' => array(
'select' => 'download_id,title,thumb_ext',
'order' => 'download_id DESC',
'limit' => $count,
),
'pagination' => array('pageSize' => 5,),
)
);

在 View 中我使用 CGridView 显示它:

    $this->widget('zii.widgets.grid.CGridView', array(
'dataProvider'=>$dataProvider,
'columns' => array('download_id', 'title', 'thumb_ext'),
));

问题是 CActiveDataProvider 忽略了标准的限制并返回表的所有行...

谢谢。

最佳答案

我不是肯定的...但我认为 Yii 使用 LIMIT 子句进行 SQL 结果分页,因此它会覆盖/替换您的 LIMIT 子句。您可以通过打开 CWebLogRoute 日志路由来检查这一点,以查看正在执行的 SQL。

无论如何,我不太确定这应该如何工作。您添加的 LIMIT 子句是为了什么?如果无论如何都要分页,为什么不让用户对所有记录进行分页呢? 解决方案可能是更改您的标准以摆脱 LIMIT 子句。

您是否要设置每页的结果数?尽管您已经将 pageSize 设置为 5...

另一件可能会做你想做的事情是检查基本的寻呼机类 CPagination。使用 CLinkPager,它可能会让您比与 CGridView 一起使用的 CListPager 更有创意地进行分页。

祝你好运!

关于mysql - 带有限制和分页的 yii CActiveDataProvider,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4561666/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com