忘记密码电子邮件不工作laravel 5


Forget Password email not working laravel 5

我使用的是用户表列名(EMAIL,PASSWORD)。如果我将小字母改为列名(电子邮件),效果很好。要更改列名称(电子邮件),因为上限不起作用,请给我任何建议。我可以登录,但忘记密码不起作用。请给任何建议

我在控制器中的功能:

 public function postEmail(Request $request)
{
    $this->validate($request, array('email' => 'required|email'));
    $response = $this->passwords->sendResetLink($request->only('EMAIL'), function ($m) {
        $m->subject($this->getEmailSubject());
    });
    switch ($response) {
        case PasswordBroker::RESET_LINK_SENT:
            return redirect()->back()->with('status', trans($response));
        case PasswordBroker::INVALID_USER:
            return redirect()->back()->withErrors(array('email' => trans($response)));
    }
}

我在页面中得到这个错误:

 QueryException in Connection.php line 624:
  SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'email' cannot be  null (SQL: insert into `password_resets` (`email`, `token`,`created_at`) 
  values (, 5d2b40143e084824402984c81cdfaa64264328bdc9c6d73cf80e1a1aa773d0cc, 2016-07-29 09:52:40))

表单中的电子邮件字段被称为Email,因此您的验证将失败,因为它会检查请求中是否存在电子邮件字段。

对于启动,请更换

$this->validate($request, array('email' => 'required|email'));

带有

$this->validate($request, array('EMAIL' => 'required|email'));

让我知道它是否已经工作,或者还有其他错误,我会在接下来的步骤中更新答案。一定要发布你得到的错误。

为了存储密码重置令牌,您需要告诉Laravel如何检索用户的电子邮件。您可以将以下方法添加到用户模型中:

public function getEmailForPasswordReset()
{
    return $this->EMAIL;
}