You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

执行用户密码修改方法报错:Attempt to read property 'new_password' on array

解决「Attempt to read property "new_password" on array」报错问题

问题原因

从你提供的dd($validations)输出能明确看到,$validations是一个关联数组,但你在代码里误用了对象的属性访问语法$validations->new_password,这直接导致了该报错。

修正方案

把数组的属性访问方式改为下标访问,同时可以优化代码避免重复查询数据库:

修正后的完整代码:

public function updatePassword(ChangePasswordRequest $request)
{
    $user = Auth::user();
    $validations = $request->validated();
    
    // 用数组下标访问new_password字段,直接使用已获取的用户实例更新
    $user->update(['password' => Hash::make($validations['new_password'])]);
    
    return redirect('change_password')->with('success-update-password', "{$user->name} changed your password successfully.");
}

关键修改点

  • 将$validations->new_password替换为$validations['new_password'],适配关联数组的访问规则
  • 直接使用Auth::user()返回的用户实例调用update方法,无需再通过User::find(Auth::user()->id)重复查询数据库
  • 修正了提示文本里的拼写错误sucess为success(提升文本规范性)

内容的提问来源于stack exchange,提问作者Yagatekimi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 02:15:38