【问题标题】:User role in gridview网格视图中的用户角色
【发布时间】:2015-05-19 14:38:06
【问题描述】:

如何在 Yii 2 GridView 小部件中打印用户角色?我试过代码:

公共函数 getUserRole($id) { $roles = \Yii::$app->authManager->getRolesByUser($id);

    $role = '';

    foreach($roles as $key => $value)
    {
        $role = $key;
    }

    return $this->role = $role;
}

在用户模型类中,但它不起作用。每个用户只分配了一个角色。非常感谢您的帮助。

【问题讨论】:

    标签: gridview yii2 rbac


    【解决方案1】:

    好的,我明白了!

    查看:

    <?= GridView::widget([
        'dataProvider' => $dataProvider,
        'filterModel' => $searchModel,
        'columns' => [
            ['class' => 'yii\grid\SerialColumn'],
            //'id',
            [
            'label' => 'Nazwa użytkownika',
            'value' => 'username'
            ],
            //'auth_key',
            //'password_hash',
            //'password_reset_token',
            'email:email',
            [
                'label' => 'Rola',
                'value' => 'userRole',
            ],
            // 'status',
            // 'created_at',
            // 'updated_at',
    
            ['class' => 'yii\grid\ActionColumn'],
        ],
    ]); ?>
    

    User模型类中的方法:

    public function getUserRole()
    {
        $roles = \Yii::$app->authManager->getRolesByUser($this->id);
    
        $role = '';
    
        foreach($roles as $key => $value)
        {
            $role = $key;
        }
    
        return $role;
    }
    

    在 UserSearch 类属性中:

    public $userRole;
    

    [['userRole'], 'safe'] 
    

    在用户搜索规则中

    【讨论】:

    • 如何使该列可按字母顺序搜索和排序?
    【解决方案2】:
     public static function getFirstRole($userID) {
           $role = array_values(Yii::$app->getAuthManager()->getRolesByUser($userID));
           if (isset($role[0])) {
               $role = $role[0];
           } else {
               $role = Yii::$app->getAuthManager()->getRole('YOUR_DEFAULT_ROLE');
           }
    
           return $role;
       }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-05-03
      • 2020-09-28
      • 2011-03-10
      • 2011-01-05
      • 1970-01-01
      • 2013-03-31
      相关资源
      最近更新 更多