在 Laravel 中更新用户配置文件

Posted

技术标签:

【中文标题】在 Laravel 中更新用户配置文件【英文标题】:Updating User Profile in Laravel 【发布时间】:2022-01-07 09:11:33 【问题描述】:

您好,我一直在尝试通过图像干预来更新用户的头像配置文件,但我似乎无法更新它。 $user->save 没有被 Laravel 读取


public function update_avatar(Request $request) 
        if($request->hasFile('avatar')) 
            $avatar = $request->file('avatar');
            $filename = time() . '.' . $avatar->getClientOriginalExtension();
            Image::make($avatar)->resize(300, 300)->save( public_path('/images/avatars/' . $filename) );

            $user = Auth::user();
            $user->avatar = $filename;
            $user->update();
        

【问题讨论】:

我在下面导入了以下类,命名空间 App\Http\Controllers;使用 Illuminate\Support\Facades\Auth;使用 Illuminate\Http\Request;使用应用\模型\用户;使用干预\图像\外墙\图像;我可以添加更多详细信息以帮助解决我的问题 $user = Auth::user();而不是这个,试试这个: $user = User::findOrFail(auth()->id()); 谢谢!成功了! 【参考方案1】:

Auth::user() 不是你的模型。请尝试:

$user = User::query()
    ->whereId(auth()->user()->id)
    ->update([
        'avatar' => $filename
    ]);

【讨论】:

以上是关于在 Laravel 中更新用户配置文件的主要内容,如果未能解决你的问题,请参考以下文章

Laravel 配置文件更新错误

如何在 laravel 的配置文件工厂中提供唯一的 user_id

更新中间表Laravel关系

Laravel:通过发布第三方包来更新 .env 文件

Laravel用户配置文件

在一个请求中更新用户配置文件和用户