Как настроить поле "электронная почта" в аутентификации Laravel? - PullRequest
0 голосов
/ 08 мая 2019

Я пытаюсь настроить поля аутентификации Laravel. Я преуспел в полях «имя» и «пароль», но не в поле «электронная почта». У меня все еще есть ошибка:

SQLSTATE [42S22]: столбец не найден: 1054 поле «адрес электронной почты» неизвестно, где пункт.

Я пытался положиться на это на , но это не сработало. В RegisterController, я изменил функцию create на следующую.

protected function create(array $data)
{
    return User::create([
        'user_pseudo' => $data['name'],
        'user_email' => $data['email'],
        'usr_mdp' => bcrypt($data['password']),
    ]);
}

1 Ответ

0 голосов
/ 08 мая 2019

Эта ошибка может быть вызвана проверкой unique поля электронной почты в методе validation.Если имя столбца не указано, оно будет использовать имя поля в качестве имени столбца .

Добавить правильное имя столбца к правилу, в котором предполагается искать электронную почту, и этоошибка должна исчезнуть:

RegisterController.php

protected function validator(array $data)
{
    return Validator::make($data, [
        'name' => ['required', 'string', 'max:255'],
        'email' => ['required', 'string', 'email', 'max:255', 'unique:users,user_email'],
        'password' => ['required', 'string', 'min:8', 'confirmed'],
    ]);
}
...