Laravel学习笔记(11)用户修改信息

  1. 父视图
// auth()->user()可以获取当前用户信息
<a href="{{route('user.edit', auth()->user())}}" class="btn btn-danger my-2 my-sm-0 mr-2">修改</a>
  1. 资源控制器的edit方法(负责修改页面)
    public function edit(User $user)
    {
        return view('user.edit', compact('user'));
    }
  1. 子视图
@extends('layouts.default')
@section('content')
    <form action={{route('user.update', $user)}} method="post">
    
        @csrf
		{{-- 模拟put方法--}}
        @method('PUT')
        
        <div class="card">
            <div class="card-body">
                <div class="form-group">
                    <label for="">昵称</label>
                    <input type="text" class="form-control" name="name" value={{$user->name}}>
                </div>
                <div class="form-group">
                    <label for="">密码</label>
                    <input type="text" class="form-control" name="password">
                </div>
                <div class="form-group">
                    <label for="">确认密码</label>
                    <input type="text" class="form-control" name="password_confirmation">
                </div>
            </div>

            <div class="card-footer text-muted">
                <button type="submit" class="btn btn-success">修改</button>
            </div>
        </div>
    </form>
@endsection
  1. 资源控制器的update方法(负责验证和更新)
    public function update(Request $request, User $user)
    {
        $request->validate([
            'name' => 'required|min:3',
            'password' => 'nullable|min:5|confirmed'
        ]);
        
        session()->flash('success', '修改成功');
        
        // 数据更新
        $user->name = $request->name;     
        if ($request->password) {
            $user->password = bcrypt($request->password);
        }
        $user->save();
        
        return redirect()->route('user.show', $user);
    }

save和create方法都可以用于创建数据,但是save可以用来更新数据

Laravel学习笔记(11)用户修改信息Laravel学习笔记(11)用户修改信息 Mush1 发布了14 篇原创文章 · 获赞 0 · 访问量 105 私信 关注
上一篇:ant table 多选框js组件 Select


下一篇:[leetcode]One Edit Distance