2013-11-26 2 views
0

Yii의 재정의 된 함수에 문제가 있습니다. 나는 YII에 findByAttributes 기능을 무시하려고하지만,이 오류가 반환Yii findByAttributes 재정의 된 함수가 오류를 반환합니다.

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); 
} 

여기에 어떤 문제가 : 오버라이드 기능의

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

내 코드는 다음과 같은처럼를?

답변

0

제공 한 코드에 오류가 있다고 생각하지 않습니다.

질문 :

  1. 하는 findByAttributes 개인해야 하는가?
  2. 우리에게 스택 트레이스가 있습니까?
  3. (!) 참고에

: 나는 당신이 루프 내가 이메일을 문자열 'üyegirişyaptı'와 MD5 양식을 검색해야하는 목적이 재정의 기능을 사용하고

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

배열을 생각하지 않는다 둘 다. 함수가 private 또는 public이 될 경우 결과가 변경되지 않습니다. stacktrace의 경우 :이 모델은 CActiveRecord를 확장하는 UsersAccounts라고합니다 –

+0

왜 beforeFind 메서드에서 이러한 논리를 구현하지 않습니까? – HarryFink

+0

시도했지만 작동하지 않았습니다. –

관련 문제