Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/291.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Yii afterfind没有开火_Php_Yii_Yii Events - Fatal编程技术网

Php Yii afterfind没有开火

Php Yii afterfind没有开火,php,yii,yii-events,Php,Yii,Yii Events,我不知道为什么我的yii afterFind方法没有启动。下面是我用来测试yii afterfind方法的内容。对于每一个发现,第一个_名字应该是“哈哈哈哈哈”。这只是为了测试后发现是否有效 下面是我的用户模型类: class User extends CActiveRecord { public function getUserInfo($userid,$is_all=false){ $criteria = new CDbCriteria; $criter

我不知道为什么我的yii afterFind方法没有启动。下面是我用来测试yii afterfind方法的内容。对于每一个发现,第一个_名字应该是“哈哈哈哈哈”。这只是为了测试后发现是否有效

下面是我的用户模型类:

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方法根本没有启动。第一个名字不是“哈哈哈”。

怎么样

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

因为您声明了静态函数,并且不建议使用
$this

我将静态函数更改为非静态。事实似乎并非如此