我面临着一个关于CakePHP 2.6.X和分页的新问题;我以前从未遇到过这个问题,只有当试图在视图中使用$this->Paginator->sort(…)时才会出现这种情况。
$this->Paginator->sort('Page.id', 'ID', array('model' => 'Page'));
我已经在控制器中完成了分页对象的正常设置
$this->Paginator->settings = array(
'contain' => false,
'group' => 'Page.id',
'order' => 'Page.name ASC',
'limit' => 20
);
$results = $this->Paginator->paginate('Page');
我在视图文件中得到了这个
警告(2):array_filter()要求参数1为数组,给定为null[CORE/Cake/View/Helper/PaginatorHelper.php,第435行]警告(2):array_merge()[function.array merge]:参数#1不是数组[CORE/Cake/View/Helper/PaginatorHelper.php,第435行]
在跟踪问题时,它源于第126行的params函数,在第131行,它返回null,因为request->params['pageing']为null。
if (!isset($this->request->params['paging']) || empty($this->request->params['paging'][$model])) {
return null;
}
有了以上解释,为什么request->params['pageing']为空?它不应该像其他部分那样填充信息吗?排序功能坏了吗?还是我遗漏了什么?如有任何帮助,我们将不胜感激。
您是否尝试删除$options参数?如果已经在密钥中指定了模型,则不确定是否需要指定模型。
$this->Paginator->sort('Page.id', 'ID');