CakePHP afterFind()杀死总分页数

时间:2012-01-06 06:46:39

标签: cakephp paginate

我正在使用可包含的分页操作和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
使用find后删除记录为1

剩余记录3
paginate limit是2

它在我的第一页显示两条记录,但我无法访问第二页或应该在第二页的最后一条记录。

2 个答案:

答案 0 :(得分:0)

您似乎已取消分页所需的行。我建议你为模型制作自定义的paginate函数(覆盖默认的cakePHP的分页)。请在此处查看示例链接:Forced Paginate Count

希望它有助于解决您的问题。

答案 1 :(得分:0)

为什么不对查询执行条件,以便不返回没有OrderStatus的记录?