2016-08-07 16 views
0

Ich möchte meine CgridView filtern, um nur "Student" Rolle aus Autassignignment-Modell anzuzeigen, habe ich einige Tutorials gelesen, aber keiner von ihnen zeigen dies. Bitte helfen Sie mir, das ist mit meiner These verwandt.Benutzerdefinierte Ansichten für cgridview basierend auf Rolle

<?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

Ist das Gridview für Ihr Authassignment Modell bekommen? Oder dein Benutzermodell? –

+0

ist es von Benutzermodell –

+0

Sie können diese URL für rollenbasierte Zugriff in YII verweisen: ** http: //www.yiiframework.com/doc/guide/1.1/en/topics.auth** –

Antwort

0

Hallo Bitte beachten Sie dies als Vorschlag

Ich weiß nicht, was Ihre table structure aber der beste Weg ist, kann dies zu tun. Erstellen Sie eine field in user tableuser_role und zum Zeitpunkt der Erstellung eines Benutzers Einfügewert in diesem wie 1 for admin 2 for student benannt und dann können Sie ganz einfach nur Schüler role nach unten Methode wie

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, 
     )); 
    } 
Verwandte Themen