• laravel8.5与layuiadmin整合(7)


    32.在文件中/app/Http/Controllers/Admin/UserController
    添加删除方法

        /**
         * 删除用户
         * @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 (User::destroy($ids)){
                return response()->json(['code'=>0,'msg'=>'删除成功']);
            }
            return response()->json(['code'=>1,'msg'=>'删除失败']);
    
        }

    此时删除用户的方法,可使用了

    33. 添加编辑用户,在文件
    /routes/web.php中添加

    // 系统管理
    Route::group(['prefix' => 'admin','middleware' => 'auth'],function() {
        .......
        //编辑用户
        Route::get('user/{id}/edit',[App\Http\Controllers\Admin\UserController::class, 'edit'])
            ->name('admin.user.edit');
        // 保存编辑用户
        Route::put('user/{id}/update',[App\Http\Controllers\Admin\UserController::class, 'update'])
            ->name('admin.user.update');
    
    });

    34.在文件中添加对应的修改方法
    /app/Http/Controllers/Admin/UserController.php

        /**
         * 显示编辑用户
         * @param $id
         * @return \Illuminate\Contracts\View\Factory|\Illuminate\Contracts\View\View
         */
        public function edit($id) {
            $user = User::findOrFail($id);
            return view('admin.user.edit',compact('user'));
        }
    
        /**
         * 保存编辑的用户
         * @param UserUpdateRequest $request
         * @param $id
         * @return \Illuminate\Http\RedirectResponse
         */
        public function update(UserUpdateRequest $request, $id)
        {
            $user = User::findOrFail($id);
    
            $data = $request->except('password');
            if ($request->get('password')){
                $data['password'] = bcrypt($request->get('password'));
            }
            if ($user->update($data)){
                return redirect()->to(route('admin.user'))->with(['status'=>'更新用户成功']);
            }
            return redirect()->to(route('admin.user'))->withErrors('系统错误');
        }

    35. 添加对应的请求方法文件
    /app/Http/Requests/UserUpdateRequest.php

    namespace App\Http\Requests;
    
    use Illuminate\Foundation\Http\FormRequest;
    
    class UserUpdateRequest extends FormRequest {
        /**
         * Determine if the user is authorized to make this request.
         *
         * @return bool
         */
        public function authorize()
        {
            return true;
        }
    
        /**
         * Get the validation rules that apply to the request.
         *
         * @return array
         */
        public function rules()
        {
            $reture = ['name' => ['required', 'string']];
            if ($this->get('password') || $this->get('password_confirmation')){
                $reture['password'] = 'required|confirmed|min:8|max:14';
            }
            return $reture;
        }
    }
    
    36.添加对应的模板文件
    /resources/views/admin/user/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.user.update',['id'=>$user->id])}}" method="post">
                <input type="hidden" name="id" value="{{$user->id}}">
                {{method_field('put')}}
                @include('admin.user._form')
            </form>
        </div>
    </div>
    @endsection

    此时对应的用户编辑可以使用了,
    以上用户的添加,删除,编辑,查找,都可以正使用了,
    接下来,添加对应的权限功能

    37.安装权限功能,选择 https://spatie.be/docs/laravel-permission
    根据文档安装,执行

    composer require spatie/laravel-permission

    config/app.php 文件中,添加

    'providers' => [
        // ...
        Spatie\Permission\PermissionServiceProvider::class,
    ];

    执行以下命令

    php artisan vendor:publish --provider="Spatie\Permission\PermissionServiceProvider"
    
    php artisan optimize:clear
    
    php artisan migrate
  • 相关阅读:
    python_16(bootstrap)
    python_15(jquery)
    python_14(js)
    .net 定义泛型方法解析XML数据赋值给相应对象
    SQL Server 数字字符串位数不够补0
    SQL Server 跨服务器查询
    JQ1.5 为动态追加的元素添加事件
    radio group 的change 事件
    记录兼职工作中遇到的问题-IIS 服务器站点无法启动
    记录第一份工作的最后一次需求-百分比环形进度条
  • 原文地址:https://www.cnblogs.com/lin3615/p/15802974.html
Copyright © 2020-2023  润新知