【发布时间】:2012-01-06 06:46:39
【问题描述】:
我正在使用可包含的分页操作和 afterFind() 来删除记录中的空数组,但这会导致分页出现问题。
这是afterFind 函数:
function afterFind($results, $primary=false) {
if ($primary == true) {
foreach ($results as $key => $value) {
if (empty($value['Orderstatus'])) {
unset($results[$key]); //removing record if the orderstatus is empty
}
}
}
return $results;
}
一共4条记录在fetch中我只删除了一个空数组(record),
数据库中的总记录数 4
使用 after find is 1 删除记录
剩余记录 3
分页限制为 2
它在我的第一页中显示了两条记录,但我无法访问第二页或应该在第二页中的最后一条记录。
【问题讨论】:
-
进行调试($yourPaginatedData);显示正确的结果计数..
-
不,我使用了 debug($this->paginate());在我的控制器中,它仅显示两条记录,即我在分页限制中提到的仅显示的记录。但是期望三个记录..这是调试整个分页结果的正确方法吗???
-
尝试将您的限制更改为 10 并查看调试结果。它显示了什么..
-
如果我评论 afterfind 函数,分页工作正常.. 猜测 afterfind 方法不会返回总分页数,因此它无法获取下一页..
-
在我将限制更改为 10 后,它完美地显示了所有三个记录...
标签: cakephp pagination