我不知道为什么我的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”。
答案 0 :(得分:0)
怎么样
User::model()->find($criteria);
因为你声明了静态函数,所以不建议使用$this