【发布时间】:2018-09-11 01:52:32
【问题描述】:
您好,我刚开始使用 Laravel,正在尝试更新用户个人资料: 我的路线:
Route::patch('users/{user}/update', ['as' => 'users.update', 'uses' => 'UserController@update']);
我的观点:
<form method="post" action="{{route('users.update', $user)}}">
{{ csrf_field() }}
{{ method_field('patch') }}
<input type="text" name="name" value="{{ $user->name }}" />
<input type="email" name="email" value="{{ $user->email }}" />
<input type="password" name="password" />
<input type="password" name="password_confirmation" />
<button type="submit">Send</button>
</form>
以及我在 UserController 中的更新功能:
public function update(User $user)
{
$this->validate(request(), [
'name' => 'required',
'email' => 'required|email|unique:users',
]);
$user->name = Request::input('name');
$user->email = Request::input('email');
$user->save();
Flash::message('Your account has been updated!');
return back();
}
我没有收到任何错误,但我的用户配置文件没有更新。有人可以帮我吗?
【问题讨论】:
-
首先尝试在操作中添加一些 dd() 以查看发生了什么 - 转储请求数据和用户以查看您是否获得正确的数据。
-
@Bostjan 我刚刚在控制器中执行了 dd($user) 并返回
code #original: array:10among others -
dd(Request::all()) 看看提交的值是否正常?
-
@Bostjan 我认为错误在` $this->validate(request(), [ `
-
@Bostjan 非静态方法 Illuminate\Http\Request::all() 不应该被静态调用...如果我在 $this 之后调用它...它没有错误也没有输出