как я могу отображать информацию о Cgridview в соответствии с зарегистрированным пользователем в yii?

У меня есть это: Состояние: id data1

Компания: id data1 state_fk

Идентификатор планирования data1 company_fk

роли пользователей в системе будут именем состояния, что я хочу, в соответствии с ролями пользователя, когда он обращается к индексу планирования GridView, мне нужно, чтобы он видел только те компании, чьи состояния соответствуют роли пользователя. извините за мой английский и спасибо


person Ernesto Pulgaron    schedule 22.01.2015    source источник
comment
Я отредактировал ваш вопрос, cgridview не является частью yii2, а частью yii1. Если вы на самом деле говорите о yii2, отредактируйте его еще раз и поместите туда правильный класс.   -  person Mihai P.    schedule 23.01.2015


Ответы (2)


Попробуй это,

Добавьте это в 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;

}

person Rogin Thomas    schedule 23.01.2015

вы можете использовать «видимый» в виджете CGridView:

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