I am not sure why my yii afterFind method is not firing. Below is what i used to test the yii afterfind method. For every find, the first_name should be "hahahahahaa". This is just to test that the afterfind is working
Below is my model class of user:
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();
}
}
However when I call the getUserInfo () method from the controller, the afterfind method isn't firing at all. The first_name isn't "hahahahaha".
how about
because you declared static function, and usage of
$this
is not recommended