0

我不确定为什么我的 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 方法根本没有触发。第一个名字不是“哈哈哈哈”。

4

1 回答 1

0

怎么样

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

因为你声明了静态函数,$this不推荐使用

于 2014-05-19T05:08:30.580 回答