laravel8.5与layuiadmin整合(11)


53.添加新增,编辑,删除权限方法
/app/Http/Controllers/Admin/PermissionController.php
先增加添加方法

class PermissionController extends Controller
{
    // ................
        /**
     * 添加权限功能
     * @return \Illuminate\Contracts\View\Factory|\Illuminate\Contracts\View\View
     */
    public function create() {
        $permissions = $this->tree();
        return view('admin.permission.create',compact('permissions'));
    }

    /**
     * 处理新增加的权限功能
     * @param PermissionCreateRequest $request
     * @return \Illuminate\Http\RedirectResponse
     */
    public function store(Request $request) {
        $name = $request->input('name');
        $display_name = $request->input('display_name');
        $parent_id = $request->input('parent_id');
        $data = ['name' => $name,'display_name' => $display_name,
            'parent_id' => $parent_id];
        if(Permission::create($data)){
            return redirect()->to(route('admin.permission'))->with(['status' => '添加权限成功']);
        }else{
            return redirect()->to(route('admin.permission'))->withErrors(['status' => '系统错误']);
        }
    }
    
}

54.分别添加上面对应的模板
新增模板
/resources/views/admin/permission/create.blade.php

@extends('admin.base')

@section('content')
    
class="layui-card">
class="layui-card-header layuiadmin-card-header-auto">

添加权限

class="layui-card-body">
class="layui-form" action="{{route('admin.permission.store')}}" method="post"> @include('admin.permission._from')
@endsection /resources/views/admin/permission/_from.blade.php {{csrf_field()}}
class="layui-form-item">
class="layui-input-block">
class="layui-form-item">
class="layui-input-block"> $permission->display_name??old('display_name')}}" lay-verify="required" class="layui-input" placeholder="如:系统管理">
class="layui-form-item">
class="layui-input-block"> class="layui-input" type="text" name="name" value="{{$permission->name??old('name')}}" placeholder="如:admin.member" >
class="layui-form-item">
class="layui-input-block"> class="layui-btn" >返 回

至此,即权限可以添加了

55.添加编辑权限模板

/resources/views/admin/permission/edit.blade.php

@extends('admin.base')

@section('content')
    
class="layui-card">
class="layui-card-header layuiadmin-card-header-auto">

更新权限

class="layui-card-body">
class="layui-form" action="{{route('admin.permission.update',['id'=>$permission->id])}}" method="post"> {{method_field('put')}} $permission->id }}"> @include('admin.permission._from')
@endsection

56.方法中添加对应的方法
/app/Http/Controllers/Admin/PermissionController.php

//
    /**
     * 编辑权限
     * @param $id
     * @return \Illuminate\Contracts\View\Factory|\Illuminate\Contracts\View\View
     */
    public function edit($id) {
        $permission = Permission::findOrFail($id);
        $permissions = $this->tree();
        return view('admin.permission.edit',compact('permissions','permission'));
    }

    /**
     * 保存权限修改
     * @param Request $request
     * @param $id
     * @return \Illuminate\Http\RedirectResponse
     */
    public function update(Request $request, $id)
    {
        $permission = Permission::findOrFail($id);
        $data = [];
        $name = $request->get('name');
        $display_name = $request->get('display_name');
        $parent_id = $request->get('parent_id');
        $data['name'] = $name;
        $data['display_name'] = $display_name;
        $data['parent_id'] = $parent_id;
        if ($permission->update($data)){
            return redirect()->to(route('admin.permission'))->with(['status'=>'更新成功']);
        }
        return redirect()->to(route('admin.permission'))->withErrors('系统错误');
    }
    
    /**
     * 删除对应的权限
     * @param Request $request
     * @return \Illuminate\Http\JsonResponse
     */
    public function destroy(Request $request) {
        $ids = $request->get('ids');

        if (empty($ids)){
            return response()->json(['code'=>1,'msg'=>'请选择删除项']);
        }
        if (Permission::destroy($ids)){
            return response()->json(['code'=>0,'msg'=>'删除成功']);
        }
        return response()->json(['code'=>1,'msg'=>'删除失败']);
    }
PHP