我正在尝试创建一个只返回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任何帮助或指导都是非常感谢的。
发布于 2016-01-14 12:51:15
在对Query对象进行分页时,CakePHP将忽略limit()子句,而使用$paginate配置数组中定义的值。
这就是在检查源代码之后可以得出的结论。
尝试将以下内容添加到控制器中:
public $paginate = [
'limit' => 2,
];https://stackoverflow.com/questions/34786606
复制相似问题