ModelNotFoundException - 没有模型[App \ User]的查询结果

时间:2015-07-06 17:29:29

标签: php eloquent laravel-5

从编辑视图中的表单中,我调用了更新功能:

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。

不确定错误以及如何调试

2 个答案:

答案 0 :(得分:0)

以下内容足以让您想要更新已登录的用户。

public function update(Request $request)
{
    Auth::user()->update($request->all());
    return redirect('user');
}

答案 1 :(得分:0)

@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');
}

希望这有用!