在我的表格中我有:
PRODUCT
id_product
name
status
状态采用以下值:
1 (Active)
2 (Inactive)
3 (Archived)
在产品索引视图中,我希望用户根据权限查看某些状态。例如:
我该怎么做?我有哪些替代方案?
答案 0 :(得分:2)
您可以为搜索模型添加条件(我猜您有一个ProductSearch.php文件),以便根据用户的角色过滤结果。
我从未使用过Yii的RBAC,但我认为您有一种获取用户角色的方法,如下所述:https://stackoverflow.com/a/25248246/4338862
因此,在搜索模型中,我会在网格过滤条件后添加一个或多个条件:
if($isUser) {
$query->andFilterWhere([
'status' => 1,
]);
}
elseif($isModerator) {
$query->andFilterWhere(['or',
['status' => 1],
['status' => 2]
]);
}
如果你需要,我可以给你一个更详细的答案。