laravel 后台权限 展示,修改
后台 权限展示
RoleController
public function show($id) { $permissionRole = PermissionRole::orderBy("permission_id","asc")->get()->toArray(); $permissions = Permission::all()->toArray(); /*$a = array(); $b = array(); foreach($permissions as $value){ foreach($permissionRole as $v){ if($value["id"] == $v["permission_id"] && $id == $v["role_id"]){ $a[] = $value["id"]; $str = "<input type="checkbox" name="id" checked value=".$value["id"].">".$value["display_name"]; $b[$value["id"]] = $str; } } } foreach($permissions as $val){ if(in_array($val["id"],$a)){ continue;} else{ $str = "<input type="checkbox" name="id" value=".$val["id"]."">".$val["display_name"]; $b[$val["id"]] = $str; } } ksort($b); foreach($b as $mm) { echo $mm; }*/ return view("roles.show",compact("permissions","permissionRole","id")); }
public function roleStore(Request $request,$id) { $permissoinRole = PermissionRole::where("role_id",$id)->get()->toArray(); $arr_perMI = array(); $arr_pr = array(); foreach ($request["permission_id"] as $item =>$v){ $data = [ "permission_id"=>$v, "role_id"=>$id ]; array_push($arr_perMI,$data); } // var_dump($arr_perMI);
//新增角色权限 foreach ($arr_perMI as $key =>$value){ if(!in_array($value,$permissoinRole)){ $permissoinRoles = new PermissionRole(); $permissoinRoles->permission_id = $value["permission_id"]; $permissoinRoles->role_id = $value["role_id"]; $permissoinRoles->save(); } }
//删除角色权限 foreach ($permissoinRole as $k =>$v){ if(!in_array($v,$arr_perMI)){ $p = $v["permission_id"]; $r = $v["role_id"]; $permissoinRole = PermissionRole::where("permission_id",$p)->where("role_id",$r)->delete(); } } return redirect()->route("role.index"); }
@extends("layouts.main") @section("content") <div class="row"> <div class="col-md-12"> <div class="box box-info"> <form class="form-horizontal" action="{{URL::to("role/".$id."/roleStore")}}" method="get" enctype="multipart/form-data"> <div class="box-header with-border"> <a href="{{URL::to("role/")}}" class="box-title">角色列表</a> <input type="hidden" name="_token" value="{{csrf_token()}}"> </div> <div class="box-body"> <?php $a = array(); $b=array();
foreach($permissions as $value){
foreach($permissionRole as $v){ if($value["id"] == $v["permission_id"] && $id == $v["role_id"]){
//找出角色的已拥有的权限
$a[] = $value["id"];
//利用正则 筛选出 还有 index 的权限 if(strpos($value["name"],"index") == false){ $str ="---- ----". "<input type="checkbox" name="permission_id[]" checked onclick="checkbox()" value=".$value["id"].">".$value["display_name"]."<br>"; //把$str 按$value["id"] 放入 $b[] 有利于 排序
$b[$value["id"]] = $str; }else{ $str = "<p style="color: gold; font-style: italic;font-size: larger">" ."<input type="checkbox" name="permission_id[]" checked onclick="checkbox()" value=".$value["id"].">".$value["display_name"]."<br>"."</p>"; $b[$value["id"]] = $str; } } } }
foreach($permissions as $val){
//排除已拥有的权限 即 未选的权限 if(in_array($val["id"],$a)){ continue;
} else{ $a[] = $val["id"]; if(strpos($val["name"],"index") == false){ $str = " ---- ----"."<input type="checkbox" name="permission_id[]" value=".$val["id"]."onclick="checkbox()">".$val["display_name"]."<br>"; $b[$val["id"]] = $str; }else{ $str = "<p style="color: gold ;font-style: italic;font-size: larger">" ."<input type="checkbox" name="permission_id[]" onclick="checkbox()" value=".$val["id"].">".$val["display_name"]."<br>"."</p>"; $b[$val["id"]] = $str; } } }
//按照键名对关联数组进行升序排序: ksort($b); foreach($b as $mm) { echo $mm; } ?> </div> <script> function checkbox(){ var flag = 0; $("input[name="permission_id[]"]:checkbox").each(function () { if ($(this).attr("checked")) { flag += 1; } }) } </script> <div class="box-footer"> <button type="button" class="btn btn-default" onclick="javascript:history.back(-1);return false;"> 返回 </button> <button type="submit" class="btn btn-danger pull-right">确 定</button> </div> </form> </div> </div> </div> @stop
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。
- 上一篇: jquery遍历筛选数组的几种方法和遍历解析json对象
- 下一篇: C语言字符数组赋初值