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

 

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