为了账号安全,请及时绑定邮箱和手机立即绑定

Yii2的ActiveDataProvider中的limit没有效果

Yii2的ActiveDataProvider中的limit没有效果

Yii
繁花不似锦 2018-08-07 14:15:36
看下图代码,使用ActiveDataProvider返回的数据竟是20条数据,而不是3条,而用$modelClass::find()->limit(3)->orderBy(['id' => SORT_DESC])->all()返回3条数据。谢谢各位解答,找到原因,并解决了看了Pagination.php的源码才知道,如果不设置pagination,就设置默认的,设置了pageSize会影响sql语句的limit。https://github.com/yiisoft/yii2/blob/master/framework/data/Pagination.php
查看完整描述

2 回答

?
ABOUTYOU

TA贡献1812条经验 获得超5个赞

不应该呀,可能是BUG?或者你的版本太低了?用composer升级一下试试

查看完整回答
反对 回复 2018-08-12
?
慕村9548890

TA贡献1884条经验 获得超4个赞

ActiveDataProvider::query 只是一个 ActiveQuery, limit 会被覆盖的。

如果是给定的数据应该用 ArrayDataProvider;
如果是分页大小应该设置 ActiveDataProvider::pagination::pageSize


查看完整回答
反对 回复 2018-08-12
  • 2 回答
  • 0 关注
  • 1609 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信