没有我设置它的mysql的CakePHP限制是20。我如何删除此限制?

时间:2012-05-24 13:41:34

标签: mysql cakephp limit

我有一个看起来像这样的分页的mysql调用:

$this->paginate['limit'] = 400;
$this->paginate['Word']= array('contain'=>"");
$wording = $this->paginate('Word');

结果是:

SELECT `Word`.`id`, `Word`.`special`, FROM `words` AS `Word` WHERE `Word`.`writing_translation_id` = 197 LIMIT 20

所以从某个地方出现这个20的限制,我无法找到。我检查了控制器和模型,找不到任何这样的东西。如您所见,我无法覆盖特定限制设置为400;

问题出在哪里?

2 个答案:

答案 0 :(得分:2)

尝试$ this-> paginate ['Word] = array('contains'=>'','limit'=> 400);

答案 1 :(得分:0)

虽然上述答案是正确的,但范围非常有限。当返回值超过400时会发生什么?将值设置为999999999?这是糟糕的编程习惯。我们使用的机器可以执行查询,操作数据并在纳秒内执行计算。因此,我们应尽可能地行使极端精确度。这绝对是其中之一。

这个问题的一个非常简单的解决方案是运行快速查找 - >('count'),条件与分页查询相同,如果已经发出“查看全部”请求(可能是通过$传递的) _GET参数),并将限制设置为此值。