Database CakePHP中的分页忽略了模型中存在的字段,是否与Datatable组件一致?

Database CakePHP中的分页忽略了模型中存在的字段,是否与Datatable组件一致?,database,cakephp,controller,pagination,datatables,Database,Cakephp,Controller,Pagination,Datatables,有一种行为我不明白 $test1 = $this->Post->find('all'); debug($test1); 它提供了预期的文章数组,该数组中每个文章都包含模型的所有字段: id, field 1, field 2, field 3 ... id, field 2, field 5, field 14 如果我使用以下语法: $test2 = $this->paginate('Post'); debug($test2); 它仅显示预期的帖子数组,该数组中的每个帖

有一种行为我不明白

$test1 = $this->Post->find('all');
debug($test1);
它提供了预期的文章数组,该数组中每个文章都包含模型的所有字段:

id, field 1, field 2, field 3 ...
id, field 2, field 5, field 14
如果我使用以下语法:

$test2 = $this->paginate('Post');
debug($test2);
它仅显示预期的帖子数组,该数组中的每个帖子都有模型的某些字段:

id, field 1, field 2, field 3 ...
id, field 2, field 5, field 14
为什么在使用
paginate()-方法时会出现此输出?如何为
paginate()-method
获得与
find()-method
相同的输出

如果需要更多的代码,请告诉我

感谢您的帮助

更新1:


我发现我在这里加载的DataTable组件:可能会对这种奇怪的行为产生影响。但是我还没有发现我是如何得到答案的。就像我假设问题出在DataTable组件上一样。控制器中有多个paginate()调用,最后一个带有特定字段分配的调用保存在´$this->paginate`变量中。因此,当我在不设置字段的情况下运行常规分页时,将使用该变量,并且显然只设置我用DataTable提供的字段。因此,解决方案是设置

$this->paginate = array(
'fields' => array('Post.*')
);

在任何paginate()调用的前面。感谢Skasty Cocco给出带星号的提示。

请检查在$paginate初始化期间是否使用了
字段
选项。不,它类似于:public$paginate=array('limit'=>5,'maxLimit'=>25,'order'=>array('Post.DATE'=>asc',);在PostsController中尝试此操作….$options=array('fields'=>array('Post.*')$此->后->递归=0$此->分页=$options$posts=$this->paginate();调试(员额)@我把你的代码粘贴到我的控制器上,它仍然只提供一些字段。我必须扩展我的问题,因为我发现它肯定与我安装的datatable helper有关,它使用und更改了paginate()本身。