【发布时间】:2016-04-19 14:28:18
【问题描述】:
我正在尝试创建一个仅返回 2 个结果的查询,并按照文档运行该查询,但默认情况下 limit 仍设置为 20。
以下是查询的构建方式:
$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);
结果被传递给视图,如下所示:
$this->set('upcomingMeetings', $this->paginate($upcomingMeetings));
这是正在数据库上运行的查询:
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
非常感谢任何帮助或指导。
【问题讨论】:
-
没有默认限制,除非您使用例如分页器。如果是这种情况,请提及并显示有关分页配置的相关代码。
-
应该可以。您确定您实际上正在执行您向我们展示的代码吗?您是否在其他任何地方对
$upcomingMeetings进行了任何修改?您能否发布您在调试工具包中看到的已执行 SQL 查询? -
非常感谢您的快速回复。我刚刚用您要求的信息更新了问题。
标签: cakephp orm pagination cakephp-3.0