【问题标题】:Call to undefined method Illuminate\Auth\GenericUser::save()调用未定义的方法 Illuminate\Auth\GenericUser::save()
【发布时间】:2020-04-07 18:16:54
【问题描述】:

登录后,我尝试通过UsersController 中的表单更新我的用户资料。代码如下:

public function update(Request $request)
    {
        $user = Auth::user();
            $user->first_name = $request->first_name;
            $user->last_name = $request->last_name;
            $user->username = $request->username;
            $user->email = $request->email;
            $user->phone_no = $request->phone_no;
            $user->division_id = $request->division_id;
            $user->district_id = $request->district_id;
            $user->street_address = $request->street_address;
            $user->shipping_address = $request->shipping_address;
            if ( !empty($request->password) ) {
                $user->password = Hash::make($request->password);
            }
            $user->save();
            session()->flash('success','user profile has been updated');
            return back();
    }

但是会出现这个错误

$user->save();

我的用户模型未受影响。 请问谁能发现错误?

【问题讨论】:

    标签: laravel authentication laravel-5 error-handling


    【解决方案1】:
    public function update(Request $request)
        {
                $user = \App\User::find(Auth::id());
                $user->first_name = $request->first_name;
                $user->last_name = $request->last_name;
                $user->username = $request->username;
                $user->email = $request->email;
                $user->phone_no = $request->phone_no;
                $user->division_id = $request->division_id;
                $user->district_id = $request->district_id;
                $user->street_address = $request->street_address;
                $user->shipping_address = $request->shipping_address;
                if ( !empty($request->password) ) {
                    $user->password = Hash::make($request->password);
                }
                $user->save();
                session()->flash('success','user profile has been updated');
                return back();
        }
    

    【讨论】:

      【解决方案2】:

      你没有用户模型,你有 GernericUser。您已将 auth 配置更改为不使用用户模型。您已将用户提供程序设置为使用 database 驱动程序而不是 eloquent 驱动程序。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-11-06
        • 1970-01-01
        • 2019-05-14
        • 2019-09-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多