Laravel Eloquent 中的忘记密码问题

Forgot Password issue in Laravel Eloquent

我在忘记密码选项中获取了用户名,我正在尝试更改密码(临时自定义方式 - 不要介意)

$UserData = Input::except(array('_token'));
        $UserDetails = User::where('username', $UserData)->get()->toArray();             
        $user = User::find($UserDetails[0]['Id']);
        $str = str_random(5);
        $user->password = $str;            
        $user->save();

在模型中我使用

public function setpasswordAttribute($value)
    {
        $this->attributes['password'] = Hash::make(Input::get('password'));
    }

因为我没有使用 Hash::make(Input::get('password'))。我猜 laravel 正在散列一些空值并存储。

我怎样才能将我的 $str 密码与 $this->attributes['password'] = $str; 之类的密码进行哈希处理?

(我的意思是只有 $str 应该被散列)

你的模型有误。应该是这样的:

public function setPasswordAttribute($value)
 {
    $this->attributes['password'] = Hash::make($value);
 }