Код: Выделить всё
class WebUser extends CWebUser {
private $_model = null;
function getRole() {
if($user = $this->getModel()){
// в таблице User есть поле role
return $user->role;
}
}
function getUsername() {
if($user = $this->getModel()){
return $user->username;
}
}
private function getModel(){
if (!$this->isGuest && $this->_model === null){
$criteria = new CDbCriteria;
$criteria->with=array('sellerShopSettingGenerals');
$criteria->select='`t`.id, `t`.role,`t`.username';
$criteria->condition='`t`.id=:id AND `t`.status=:status AND `sellerShopSettingGenerals`.subdomain=:subdomain';
$criteria->params=array(':id'=>$this->id,'status'=>'confirm', 'subdomain'=>$_GET['domain']);
$this->_model = User::model()->find($criteria);
}
return $this->_model;
}
}
Код: Выделить всё
echo Yii::app()->user->role;
echo Yii::app()->user->username;
А в экшене контроллера
Код: Выделить всё
echo Yii::app()->user->role;
echo Yii::app()->user->username;
Сломал всю голову уже. Так и должно быть?