laravel8.5与layuiadmin整合(6)
28.开发上面的对应路由方法
/routes/web.php
修改为如下内容
// 系统管理 Route::group(['prefix' => 'admin','middleware' => 'auth'],function() { ....... //添加系统用户 Route::get('/create',[App\Http\Controllers\Admin\UserController::class, 'create']) ->name('admin.user.create'); // 获取系统用户列表 Route::get('/data',[App\Http\Controllers\Admin\UserController::class, 'data']) ->name('admin.data'); //删除系统用户 Route::delete('user/destroy',[App\Http\Controllers\Admin\UserController::class, 'destroy']) ->name('admin.user.destroy'); });
29. 在文件中/app/Http/Controllers/Admin/UserController.php
添加如下方法
namespace App\Http\Controllers\Admin; use App\Http\Controllers\Controller; use App\Models\User; use Illuminate\Http\Request; use Illuminate\Support\Facades\DB; class UserController extends Controller { public function index() { return view('admin.user.index'); } /** * 获取用户列表 * @param Request $request * @return \Illuminate\Http\JsonResponse */ public function data(Request $request) { $sql = "select * from users where 1"; $sqlCount = "select count(*) as total from users where 1"; $whereField = []; if($request->get('name')){ $sql .= " and name = :name"; $sqlCount .= " and name = :name"; $whereField['name'] = $request->get('name'); } if($request->get('email')){ $sql .= " and email = :email"; $sqlCount .= " and email = :email"; $whereField['email'] = $request->get('email'); } $page = 1; $pagesize = 10; if($request->get('page')){ $page = intval($request->get('page')); if($page < 1){ $page = 1; } } if($request->get('limit')){ $pagesize = $request->get('limit'); if($pagesize < 1) { $pagesize = 10; } } $start_num = ($page - 1) * $pagesize; $sql .= " limit {$start_num},{$pagesize}"; if($whereField) { $listResult= DB::select($sql,$whereField); $totalCount = DB::selectOne($sqlCount,$whereField); }else{ $listResult= DB::select($sql); $totalCount = DB::selectOne($sqlCount); } $listData = []; foreach ($listResult as $data_row) { $listData[] = $data_row; } $data = [ 'code' => 0, 'msg' => '正在请求中...', 'count' => $totalCount->total, 'data' => $listData ]; return response()->json($data); } /** * 添加新用户 * @return \Illuminate\Contracts\View\Factory|\Illuminate\Contracts\View\View */ public function create() { return view('admin.user.create'); } /** * 保存新增用户 */ public function store(Request $request) { $data_input = $request->all(); $name = $data_input['name']; $password = bcrypt($data_input['password']); $email = $data_input['email']; $data = ['name' => $name,'password' => $password,'email' => $email]; if(User::create($data)) { return redirect()->to(route('admin.user'))->with(['status' => '添加用户成功']); } return redirect()->to(route('admin.user'))->withErrors(['status' => '系统错误']); } }
30.添加上面对应的模板文件
/resources/views/admin/user/create.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.store')}}" method="post"> @include('admin.user._form') </form> </div> </div> @endsection
31.分别添加对应的路由和
模板文件 /resources/views/admin/user/_form.blade.php
路由 /routes/web.php 如下
// 系统管理 Route::group(['prefix' => 'admin','middleware' => 'auth'],function() { ......... //保存用户 Route::post('/store',[App\Http\Controllers\Admin\UserController::class, 'store']) ->name('admin.user.store'); });