2013-11-26 4 views
0

У меня проблема с переопределенными функциями Yii. Я пытаюсь переопределить функции findByAttributes в Yii, но он возвращает эту ошибку:Yii findByAttributes переопределенная функция возвращает ошибку

PHP Fatal error: Class declarations may not be nested in /var/www/html/yii14/framework/collections/CListIterator.php on line 20 

Моих кодов перекрытой функции походят следующим образом:

private function findByAttributes($attributes, $condition='', $params=array()) 
{ 
    foreach($attributes as $attribute=>$value) 
    { 
     if($attribute === 'user_email') { 
      $attributes[$attribute] = md5('üyegirişyaptı'.$value); 
     } 
    } 

    return parent::findByAttributes($attributes, $condition, $params); 
} 

Что случилось здесь?

ответ

0

Я не думаю, что ошибка указана в коде кода, который вы указали.

Вопросы:

  1. должны findByAttributes быть частным?
  2. У вас есть стек для нас?

На заметка на поля: Я не думаю, что вы должен цикл массив

if(array_key_exists('user_email', $attributes)) 
{ 
    $attributes['user_email'] = md5('üyegirişyaptı'.$value); 
} 
+0

Я использую эту функцию переопределения для этой цели, что электронная почта должна быть найдена со строкой «üyegirişyaptı» и формами md5 обоих. Результат не изменяется, если функция становится частной или общедоступной. Для stacktrace: эта модель называется UsersAccounts, которая расширяет CActiveRecord –

+0

Почему вы не реализуете такую ​​логику в методе beforeFind? – HarryFink

+0

Я пробовал, но это не сработало. –

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