更新配置文件密码laravel 5


update profile password laravel 5

我在laravel 5.1中工作,我的更新配置文件可以工作,但不会加密,现在也不工作。当我尝试更新用户表时,还会出现password_confirmation字段,并在数据库中引发冲突。我不明白。在表格中说成功,但数据库没有更新任何

代码

public function updatePassword() {
    $passwordData = Input::except('_token');
    $validation = Validator::make($passwordData, User::$passwordData);
    if ($validation->passes()) {
        array_forget($passwordData,'password_confirmation');
        User::where(array(
                'password' => Hash::make(Input::get('password'))
            ));
        Session::flash('password', 'Perfil editado com sucesso');
        return Redirect::to('backend/perfil/password');
    } else {
        return Redirect::to('backend/perfil/password')->withInput()->withErrors($validation);
    }   
}   

用户

public static $passwordData = array(
        'password'              => 'required|confirmed',
        'password_confirmation' => 'required'
        );

按照以下简单步骤清除任何

步骤1:从表单获取密码

$PasswordData = Input::all();

步骤2:验证您的密码

Validator::extend('pwdvalidation', function($field, $value, $parameters) {
            return Hash::check($value, Auth::user()->password);
        });

步骤3:User型号中定义验证规则

public static $rulespwd = array('OldPassword' => 'required|pwdvalidation',
        'NewPassword' => 'required|confirmed|alphaNum|min:5|max:10',
        'NewPassword_confirmation' => 'required',
        );

Note :您应根据自己的需求定义自己的规则

第4步:如果规则通过,则更新else将错误消息抛出到您的视图

$validator = Validator::make($PasswordData, User::$rulespwd, $messages);
        if ($validator->passes()) {
            $user = User::find(Auth::user()->id);
            $user->password = Input::get('NewPassword');
            $user->save();
            return Redirect::to(Session::get('urlpath') . '/changepassword')->withInput()->with('Messages', 'The Password Information was Updated');
        } else {
            return Redirect::to(Session::get('urlpath') . '/changepassword')->withInput()->withErrors($validator);
        }