2012-05-02 2 views
0

Так я бегу простую функцию в afterFind моей модели:afterFind() + постраничной = ошибки в CakePHP

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] 

когда я умру() в unpaginated результаты, хорошо ... когда я умру() с разбивкой на страницы результатов, я все еще получаю эти ошибки все, что, даже несмотря на все данные идентичны.

Что дает?

ответ

2

Вам нужно проверить, установлены ли ключи. Вероятно, это не так, когда pagination делает find('count) `запросы, когда единственным возвращаемым значением является счет.

Проверка isset($results[$key]['User']['password']) должна сделать трюк.

Смежные вопросы