在重置密码中更改已使用的列

时间:2017-02-01 13:52:59

标签: laravel laravel-5.2 laravel-authorization

我在Laravel 5.2应用程序中工作。我正在实施身份验证模块。问题是,我没有一个名为 email 的列,而不是我有一个 mail 列,因为我不是使用模块的默认用户表。 所以,到目前为止,注册,登录和注销工作正常,因为在我设置的AuthController中:

protected $username = 'mail'; 

但是,另一方面, ResetPassword 无法正常工作,因为仍然在寻找email列并且它给了我这个错误:

SQLSTATE[42S22]: Column not found: 1054 Unknown column 'email' in 'where clause' (SQL: select * from `users` where `email` = sredny.nevermind92@gmail.com limit 1

我不希望它比较email,而是我需要mail

1 个答案:

答案 0 :(得分:0)

在用户模型上设置getEmailForPasswordReset()方法,如:

public function getEmailForPasswordReset() {
    //Place you reset code here...
}

参考:change User email field to username field with Laravel 5.0?

您还需要覆盖`postLogin()',否则默认身份验证系统将与凭据不匹配。