【问题标题】:afterFind() + paginate = errors in CakePHPafterFind() + paginate = CakePHP 中的错误
【发布时间】:2012-05-06 13:42:55
【问题描述】:

所以我在模型的 afterFind 中运行了一个简单的函数:

    public function afterFind($results) {
        foreach ($results as $key => $val) {
            if ($val['User']['password']) {
                $results[$key]['User']['status'] = 'active';
            } else if ($val['Ticket']['id']) {
                $results[$key]['User']['status'] = 'pending';
            } else {
                $results[$key]['User']['status'] = 'inactive';
            }
        }
        return $results;
    }

这给了我两个错误,即使这些变量已定义,并且页面正在正常呈现(除了错误):

Notice (8): Undefined index: User [APP/Model/User.php, line 145]

Notice (8): Undefined index: Ticket [APP/Model/User.php, line 147]

当我 die() 未分页结果时,一切都很好......当我 die() 分页结果时,即使所有数据都相同,我仍然会收到这些错误。

什么给了?

【问题讨论】:

    标签: cakephp pagination


    【解决方案1】:

    您需要检查键是否已设置。当分页执行find('count)` 查询时,它可能会失败,而返回的唯一值是计数。

    isset($results[$key]['User']['password']) 这样的支票应该可以解决问题。

    【讨论】:

      猜你喜欢
      • 2012-07-07
      • 1970-01-01
      • 1970-01-01
      • 2013-08-29
      • 1970-01-01
      • 1970-01-01
      • 2011-11-30
      • 2014-02-21
      • 2019-12-05
      相关资源
      最近更新 更多