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

Php ModelNotFoundException-没有模型[App\User]的查询结果,php,eloquent,laravel-5,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

在编辑视图中的表单中,我调用更新函数:

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,因为我正在更新身份验证id


如果您想更新已登录的用户,不确定发生了什么问题以及如何调试,下面的内容就足够了

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

如果您想更新登录的用户,以下内容就足够了

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

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

希望这是有帮助的

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

希望这是有帮助的

太好了,那就更好了!谢谢太好了,那就更好了!谢谢