【问题标题】:ModelNotFoundException - No query results for model [App\User]ModelNotFoundException - 没有模型 [App\User] 的查询结果
【发布时间】:2015-09-23 23:11:33
【问题描述】:
在我的编辑视图中,我正在调用更新函数:
public function update(Request $request)
{
$id = Auth::user();
$user = User::findOrFail($id);
$user->update($request->all());
return redirect('user');
}
但我收到以下错误:
Builder.php 第 125 行中的 ModelNotFoundException:没有模型 [App\User] 的查询结果。
我没有传递 $id,因为我正在更新 Auth Id。
不知道出了什么问题以及如何调试
【问题讨论】:
标签:
php
eloquent
laravel-5
【解决方案1】:
如果您想更新已登录的用户,以下内容就足够了。
public function update(Request $request)
{
Auth::user()->update($request->all());
return redirect('user');
}
【解决方案2】:
@pinkalvansia 为您提供了很好的答案和解决方案。
但是,我还想指出,我相信您需要使用:
Auth::user()->id 获取当前登录用户的 ID。你的代码应该是这样的:
public function update(Request $request)
{
$user_id = Auth::user()->id;
$user = User::findOrFail($user_id);
$user->update($request->all());
return redirect('user');
}
希望对您有所帮助!