2016-08-07 52 views
0

我想過濾我的CgridView只顯示Authassignment模型中的「學生」角色,我閱讀了一些教程,但沒有一個顯示出來。 請幫助我,這與我的論文有關。基於角色的cgridview自定義視圖

<?php 

$this->widget('zii.widgets.grid.CGridView', array(
    'id'=>'users-grid', 
    'dataProvider'=>$model->search(), 
    // 'filter'=>$model, 
    'columns'=>array(

     'userID', 
     'lastname', 

     array(
      'class'=>'bootstrap.widgets.TbButtonColumn', 
     ), 
    ), 
)); 

?> 

 

StudentView

+0

是在GridView您Authassignment模式?或者你的用戶模式? –

+0

它來自用戶模型 –

+0

您可以在YII中引用此URL進行基於角色的訪問:** http://www.yiiframework.com/doc/guide/1.1/en/topics.auth** –

回答

0

你好,請參考這個作爲建議

我不知道什麼是您的table structure只是這樣做可能是最好的辦法。創建一個user table名爲fielduser_role在用戶創造價值插在這個像1 for admin 2 for student的時間,然後你可以輕鬆地得到如下方法唯一的學生role

public function actionIndex() 
    { 
     $model=new User('search'); 

     $model->unsetAttributes(); // clear any default values 
     $model->user_role = 2;// for student role 
     if(isset($_GET['User'])) 
      $model->attributes=$_GET['User']; 

     $this->render('index',array(
      'model'=>$model, 
     )); 
    } 
相關問題