Q:ユーザーグリッドビューでユーザーの役割を表示するにはどうすればよいですか?
説明:ユーザーと権限の拡張機能を使用しています。ユーザー/管理者のグリッドビューでユーザーの役割を示したいと思います。ユーザーの役割でフィルタリングします。どうやって?
これが私の見解です
$this->widget('zii.widgets.grid.CGridView', array(
'id'=>'user-grid',
'dataProvider'=>$model->search(),
'filter'=>$model,
'columns'=>array(
array(
'name' => 'username',
'type'=>'raw',
'value' => 'CHtml::link(UHtml::markSearch($data,"username"),array("admin/view","id"=>$data->id))',
),
array(
'name'=>'email',
'type'=>'raw',
'value'=>'CHtml::link(UHtml::markSearch($data,"email"), "mailto:".$data->email)',
),
'create_at',
'lastvisit_at',
array(
'name'=>'status',
'value'=>'User::itemAlias("UserStatus",$data->status)',
'filter' => User::itemAlias("UserStatus"),
),
array(
'class'=>'CButtonColumn',
),
),
));
これは私のコントローラーです
public function actionIndex()
{
$rasdataProvider = new RAssignmentDataProvider();
$dataProvider=new CActiveDataProvider('User', array(
'criteria'=>array(
'condition'=>'status>'.User::STATUS_BANNED,
),
'pagination'=>array(
'pageSize'=>Yii::app()->controller->module->user_page_size,
),
));
$this->render('index',array(
'dataProvider'=>$dataProvider,
'rasdataProvider'=>$rasdataProvider,
));
}
アップデート#1
これはuser.phpの関係です
public function relations()
{
$relations = Yii::app()->getModule('user')->relations;
if (!isset($relations['profile']))
$relations['profile'] = array(self::HAS_ONE, 'Profile', 'user_id');
return $relations;
}