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);
}
我在忘记密码选项中获取了用户名,我正在尝试更改密码(临时自定义方式 - 不要介意)
$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);
}