Yii findByAttributes覆盖函数返回错误

时间:2013-11-26 13:18:21

标签: php yii model override

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

这里有什么问题?

1 个答案:

答案 0 :(得分:0)

我认为错误不在您提供的代码中。

问题:

  1. findByAttributes应该是私有的吗?
  2. 你们有堆栈跟踪吗?
  3. 旁注:我认为你不必循环数组

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