如何根据yii中记录的用户显示Cgridview上的信息?

时间:2015-01-22 17:55:11

标签: yii rbac

我有这个: 州: ID DATA1

公司: ID 数据1 state_fk

规划 ID 数据1 company_fk

系统中的用户角色将是一个州的名称,我想要的是,根据用户角色,当他访问GridView Planning索引时我需要他只看到哪些公司的状态与用户角色匹配。对不起我的英文,谢谢

2 个答案:

答案 0 :(得分:0)

试试这个,

在cgrid中添加它,

array (
'header' => 'Companies',
'value' => '$data->searchcompanies',
'type' => 'html', ),

并在计划模型中添加此功能

public function getsearchcompanies(){
$companies  = Companies::model()->findAllByAttributes(array('state_id'=>$stateid));
foreach($companies as $company){
    $companynames[]=$company->company_name;
}
$regionname=implode('<br/>',$regionnames) ; 
return $regionname;

}

答案 1 :(得分:0)

你可以在CGridView小部件中使用'visible':

array(
        'name' => 'company',
        'value' => '$data->searchcompanies',
        'visible' => Yii::app()->user->isAdmin,
    ),