2016-07-29 3 views
0

Я использую имя столбца таблицы пользователей (EMAIL, PASSWORD) .if Я перехожу к имени столбца (по электронной почте), так как маленькие буквы работают нормально. Чтобы изменить название столбца (EMAIL), поскольку кепки не работают, дайте мне какое-либо предложение. Я могу войти, но забыть пароль не работает. пожалуйста, дайте какие-либо предложенияЗабудьте пароль не работает laravel 5

свою функцию в контроллере:

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)) 

ответ

1

поле электронной почты в форме называется EMAIL так что ваша проверка будет fail, поскольку он проверяет наличие email поле в запросе.

Для начала, замените

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

с

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

и дайте мне знать, если он уже работает или есть некоторые другие ошибки, и я буду обновлять ответ со следующими шагами. Обязательно отправьте сообщение об ошибке, которую вы получаете.

Для того, чтобы хранить маркеры сброса пароля, вам необходимо сообщить Laravel, как получить электронное письмо пользователя. Вы можете сделать это, добавив следующий метод к вашему пользователя модель:

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

это ошибка я получаю .. QueryException в connection.php линии 624: SQLSTATE [23000]: Integrity нарушение ограничения: 1048 Колонка 'email' не может быть null (SQL: insert в 'password_resets' (' email', 'token',' created_at') значения (, 5d2b40143e084824402984c81cdfaa64264328bdc9c6d73cf80e1a1aa773d0cc, 2016-07-29 09:52:40)) –

+0

Я обновил ответьте на несколько шагов –