laravel8.5与layuiadmin整合(9)

43.编辑,删除角色功能
控制器添加方法
/app/Http/Controllers/Admin/RoleController.php

    /**
     * 编辑角色
     * @param $id
     * @return \Illuminate\Contracts\View\Factory|\Illuminate\Contracts\View\View
     */
    public function edit($id) {
        $role = Role::findOrFail($id);
        return view('admin.role.edit',compact('role'));
    }

    /**
     * 更新角色
     * @param Request $request
     * @param $id
     * @return \Illuminate\Http\RedirectResponse
     */
    public function update(Request $request, $id)
    {
        $role = Role::findOrFail($id);

        $data = ['name' => $request->input('name')];

        if ($role->update($data)){
            return redirect()->to(route('admin.role'))->with(['status'=>'更新角色成功']);
        }
        return redirect()->to(route('admin.role'))->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 (Role::destroy($ids)){
            return response()->json(['code'=>0,'msg'=>'删除成功']);
        }
        return response()->json(['code'=>1,'msg'=>'删除失败']);
    }    
    

44.模板添加以下文件
/resources/views/admin/role/edit.blade.php

@extends('admin.base')

@section('content')
<div class="layui-card">
    <div class="layui-card-header layuiadmin-card-header-auto">
        <h2>更新角色</h2>
    </div>
    <div class="layui-card-body">
        <form class="layui-form" action="{{route('admin.role.update',['id'=>$role->id])}}" method="post">
            <input type="hidden" name="id" value="{{$role->id}}">
            {{method_field('put')}}
            @include('admin.role._form')
        </form>
    </div>
</div>
@endsection

45.添加角色删除路由
/routes/web.php

    //删除角色
    Route::delete('role/destroy',[App\Http\Controllers\Admin\RoleController::class, 'destroy'])
        ->name('admin.role.destroy');

至此,角色的增删改,都可以了,这里不开发查询功能

同理,开发权限,基本功能与上面的角色是一样的

46.路由权限开发
/routes/web.php

// 权限管理
Route::group(['prefix' => 'admin','middleware'=>'auth'],function() {
    // 权限展示
    Route::get('permission',[App\Http\Controllers\Admin\PermissionController::class,'index'])
        ->name('admin.permission');
    // 获取权限数据
    Route::get('permission/data',[App\Http\Controllers\Admin\PermissionController::class,'data'])
        ->name('admin.permission.data');
    //创建权限
    Route::get('permission/create',[App\Http\Controllers\Admin\PermissionController::class,'create'])
        ->name('admin.permission.create');
    // 保存新创建的权限
    Route::post('permission/store',[App\Http\Controllers\Admin\PermissionController::class,'store'])
        ->name('admin.permission.store');
    //编辑权限
    Route::get('permission/{id}/edit',[App\Http\Controllers\Admin\PermissionController::class,'edit'])
        ->name('admin.permission.edit');
    // 保存编辑的权限
    Route::put('permission/{id}/update',[App\Http\Controllers\Admin\PermissionController::class,'update'])
        ->name('admin.permission.update');
    // 删除权限
    Route::delete('permission/destroy',[App\Http\Controllers\Admin\PermissionController::class,'destroy'])
        ->name('admin.permission.destroy');
});

 

posted @ 2022-01-14 18:14  好记性还真不如烂笔头  阅读(97)  评论(0编辑  收藏  举报