我在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
答案 0 :(得分:0)
在用户模型上设置getEmailForPasswordReset()
方法,如:
public function getEmailForPasswordReset() {
//Place you reset code here...
}
参考:change User email field to username field with Laravel 5.0?
您还需要覆盖`postLogin()',否则默认身份验证系统将与凭据不匹配。