我正在尝试根据用户权限(RBAC)隐藏GridView
中的行。
(Yii::$app->user->can('readModel', ['model' => $model]);
)
我假设我必须在搜索模型中添加一些过滤器,但我无法找到如何将此过滤器添加到查询中。
也许还有一个我还没有找到的更简单的解决方案,比如在GridView
调用中添加一个参数?
Docs并没有真正帮助我理解这种特殊情况。
提前致谢。
答案 0 :(得分:1)
一种方法可以基于使用行选项为行指定适当的类
<?= GridView::widget([
'dataProvider' => $dataProvider,
'filterModel' => $searchModel,
'columns' => [
['class' => 'yii\grid\SerialColumn'],
.........
['class' => 'yii\grid\ActionColumn'],
],
'rowOptions'=>function ($model){
$class= (Yii::$app->user->can('readModel', ['model' => $model]) ? 'hide' : 'swow';
return $class;
},