如何在cakephp 3.2的限制中传递另一个参数

How to pass another parameter in limit of cakephp 3.2

我正在使用数据 table 内置 ajax 自定义分页。

这里limit函数需要传2个参数

我需要一些帮助才能实现。我正在使用 cakephp 3.2。

下面是我的代码。

$sql.=" ORDER BY ". $columns[$requestData['order'][0]['column']]."   ".$requestData['order'][0]['dir']."  LIMIT ".$requestData['start']." ,".$requestData['length']."   ";


This code is in core php ,

I want to convert it into cakephp .

Below is what i have tried so far.

 $order=$requestData['order'][0]['dir'];  //descending ya ascending
        $id=$columns[$requestData['order'][0]['column']];///order by which column


 $query=  $this->Orders->find('all')->where($condition)->limit($requestData['length'])->order(['Orders.'. $id.' '.$order]);

How can i write  this code  LIMIT ".$requestData['start']." ,".$requestData['length']."   ";

Using cakephp ,
In limit how to give both the limit as well as the start parameter($requestData['start']).

最终,我的问题到此结束。 谢谢您的任何建议。

cakephp查询中有一个偏移函数可以使用

所以你的查询变成如下

$query= $this->Orders->find('all')->where($condition)->offset($requestData['start'])->limit($requestData ['length'])->order(['Orders.'.$id.' '.$order]);

这应该按要求工作,它与 mysql 查询中的开始相同。

Limit中支持两个参数,如果只传一个就是limit参数,offset默认为0

LIMIT 10 //returns first 10 records only

如果传递两个参数,那么第一个是偏移量,第二个是限制

LIMIT 50, 10 //returns 10 records from 51st record

要在 CakePHP 查询中传递偏移量,您可以使用 offset($start) 方法或 page($page_number) 方法检查 DOC

你的代码应该是

$query=  $this->Orders->find('all')->where($condition)->limit($requestData['length'])->offset($requestData['start'])->order(['Orders.'. $id.' '.$order]);