【问题标题】:How to update hashed password in laravel? [duplicate]如何在 laravel 中更新哈希密码? [复制]
【发布时间】:2020-12-04 01:46:00
【问题描述】:

我正在尝试更新散列数据密码。但是密码仍然没有更新。 这是我的控制器:

    public function store(Request $request)
{
    $request->validate([
        'username' => 'required|max:100|min:3',
        'password' => 'required|min:3',
        'level' => 'required|max:75',
        'email' => 'required',
    ]);

    User::create([
        'username' => $request->username,
        'password' => Hash::make($request->password),
        'level' => $request->level,
        'email' => $request->email,
    ]);

    return redirect('data_user');
}

这是更新控制器:

    public function update(Request $request, $id)
{
    $user = User::findorfail($id);
    $user->update($request->all());
    return redirect('data_user');
}

其他字段,如用户名、电子邮件和级别已更新。但是密码仍然没有更新,我不知道是什么问题。 对不起我的英语不好

【问题讨论】:

  • 在你的更新方法中,如果你做了dd($request->all()),有没有密码输入?
  • 确保password 被添加到模型的fillable 属性中。 laravel.com/docs/7.x/eloquent#mass-assignment
  • 我已经在可填写的地方添加了密码,当我 dd($request->all()) 有一个密码输入

标签: php laravel


【解决方案1】:

你应该这样做。

public function update(Request $request, $id)
{
    $user = User::findorfail($id);
    $user->password=Hash::make($request->password);
    $user->username=$request->username;
    $user->email=$request->email;
    $user->save();
    return redirect('data_user');
}

【讨论】:

  • 当我 dd($request->all()) 没有密码输入时
  • 呃抱歉,我忘了在刀片中添加密码名称.. 它对我有用,谢谢
猜你喜欢
  • 2020-02-25
  • 2015-12-18
  • 1970-01-01
  • 2017-11-30
  • 1970-01-01
  • 2014-07-15
  • 2018-07-07
  • 1970-01-01
  • 2013-02-27
相关资源
最近更新 更多