【问题标题】: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');
    }
    

    希望对您有所帮助!

    【讨论】:

      猜你喜欢
      • 2019-09-16
      • 1970-01-01
      • 2018-03-16
      • 2018-09-12
      • 1970-01-01
      • 1970-01-01
      • 2019-12-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多