首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >忽略CakePHP 3.x中限制子句的查询分页

忽略CakePHP 3.x中限制子句的查询分页
EN

Stack Overflow用户
提问于 2016-01-14 10:02:49
回答 1查看 592关注 0票数 1

我正在尝试创建一个只返回2个结果的查询,通过按照文档运行查询,但是默认情况下,limit仍然设置为20

以下是如何构建查询:

代码语言:javascript
复制
$upcomingMeetings = $this->Meetings->find('all')
  ->where(['Meetings.user_id' => $this->Auth->User('user_id')])
  ->andWhere(["Meetings.date >= " =>  date('Y-m-d') ])
  ->order(['Meetings.date' => 'ASC'])
  ->limit(2);

结果将传递到视图中,如下所示:

代码语言:javascript
复制
$this->set('upcomingMeetings', $this->paginate($upcomingMeetings)); 

下面是正在数据库上运行的查询:

代码语言:javascript
复制
SELECT 
  Meetings.id AS `Meetings__id`, 
  Meetings.date AS `Meetings__date`, 
  Meetings.user_id AS `Meetings__user_id`, 
FROM 
  meetings Meetings 
WHERE 
  (
    Meetings.group_id = 7 
    AND Meetings.date >= '2016-01-14'
  ) 
ORDER BY 
  Meetings.date ASC 
LIMIT 
  20 OFFSET 0

任何帮助或指导都是非常感谢的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-01-14 12:51:15

在对Query对象进行分页时,CakePHP将忽略limit()子句,而使用$paginate配置数组中定义的值。

这就是在检查源代码之后可以得出的结论。

尝试将以下内容添加到控制器中:

代码语言:javascript
复制
public $paginate = [
    'limit' => 2,
];
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34786606

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档