- 父视图
// auth()->user()可以获取当前用户信息
<a href="{{route('user.edit', auth()->user())}}" class="btn btn-danger my-2 my-sm-0 mr-2">修改</a>
- 资源控制器的edit方法(负责修改页面)
public function edit(User $user)
{
return view('user.edit', compact('user'));
}
- 子视图
@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
- 资源控制器的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可以用来更新数据
Mush1 发布了14 篇原创文章 · 获赞 0 · 访问量 105 私信 关注