Yii afterfind没有开火

时间:2014-05-19 04:34:35

标签: php yii yii-events

我不知道为什么我的yii afterFind方法没有触发。以下是我用来测试yii afterfind方法的内容。对于每个发现,first_name应该是“hahahahahaa”。这只是为了测试后发工作是否正常

以下是我的用户模型类:

class User extends CActiveRecord
{
 public function getUserInfo($userid,$is_all=false){
         $criteria = new CDbCriteria;
         $criteria->select = 'id,email,first_name,last_name,gender,username,country,balance_bids';
         if($is_all ){
             $criteria->select = 'id,email,first_name,last_name,gender,username,country,'
                 . 'dob,address1,address2,zip,balance_bids,mobile';
         }
         $criteria->condition = "id=:userid";
         $criteria->params = array(':userid'=>$userid); 

         return User::model()->find($criteria);
 }

 protected function  afterFind(){
      $this->first_name = "hahahaha";
      parent::afterFind();

 }

}

然而,当我从控制器调用getUserInfo()方法时,afterfind方法根本没有触发。 first_name不是“hahahahaha”。

1 个答案:

答案 0 :(得分:0)

怎么样

 User::model()->find($criteria);

因为你声明了静态函数,所以不建议使用$this