ошибка при попытке зарегистрироваться и получить письмо на mailtrap.io - PullRequest
1 голос
/ 06 апреля 2020

Я получаю эту ошибку при попытке зарегистрироваться.

SQLSTATE [23000]: нарушение ограничения целостности: 19 Не выполнено ограничение NOT NULL: users.username (SQL: вставить в «users» Значения ("name", "email", "password", "updated_at", "creation_at") (ddd, User@gmail.com, $ 2y $ 10 $ OAVW3PgwJ3tfqvCIGLOSM.mlOELN2sI72Um74Asn5vYhVqbg7x2SW, 2020-04-06, 08:40:58 2020-04-06 08:40:58))

Пользователь. php имеет это

Mail::to($user->email)->send(new NewUserWelcomeMail());

почему это так? и моя электронная почта в таблице user_create

Schema::create('users', function (Blueprint $table) { 
    $table->id(); 
    $table->string('name'); 
    $table->string('email')->unique(); 
    $table->string('username')->unique(); 
    $table->timestamp('email_verified_at')->nullable(); 
    $table->string('password'); 
    $table->rememberToken(); 
    $table->timestamps();

Пожалуйста, помогите мне решить эту проблему.

1 Ответ

1 голос
/ 06 апреля 2020

Проблема не в MailTrap, проблема в столбце имени пользователя, добавьте значение в столбец имени пользователя при выполнении вставки в RegisterController.

Просто внесите следующие изменения кода в RegisterController.php, чтобы добавить значение имени пользователя в таблице users.

protected function create(array $data)
    {
        return User::create([
            'name' => $data['name'],
            'email' => $data['email'],
            'username' => $data['email'] // Or add logic to generate unique Username
            'password' => Hash::make($data['password']),
        ]);
    }

Это должно решить проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...