今天给自己的一个项目做权限控制,使用的是最基本的RBAC( 基于角色的权限控制)
有两张表:一个是权限表 cs_pribilege 另一个就是角色表 cs_role
(这个是角色表 ,很好实现 pri_id_list是权限列表的id)
(权限表)
现在需要做的一个功能就是如何在显示角色列表时候能够显示这个角色所拥有的的权限,不是以一组数字的样式显示出来,
比如:44,45,46 显示成:栏目管理,栏目添加,栏目删除 这样显示
我先在mysql的命令行试了一下:
角色表
权限表
要想实现这个功能,必须要将两张表联合起来
第一次查询
查询r表的所有字段,也就是角色表的所有字段,只查询p表中的pri_name(权限名)
这个查询结果并不是想要的 仔细观察 pri_name 只是第二次查询中的每一个的第一个值(pri_name)
想要的效果应该是之前在上面的说过的那个效果
需要使用mysql中的一个函数 group_concat
结果出来
需要注意的是两个函数:一个是find_in_set 一个是 group_concat函数