Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/228.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 尝试注册并将电子邮件发送到mailtrap.io时出错_Php_Laravel_Sqlite - Fatal编程技术网

Php 尝试注册并将电子邮件发送到mailtrap.io时出错

Php 尝试注册并将电子邮件发送到mailtrap.io时出错,php,laravel,sqlite,Php,Laravel,Sqlite,我在尝试注册时遇到此错误 SQLSTATE[23000]:完整性约束冲突:19非空约束失败:users.username(SQL:插入“users”(“name”、“email”、“password”、“updated_at”、“created_at”)值(ddd,User@gmail.com,$2y$10$OAVW3PgwJ3tfqvCIGLOSM.mlOELN2sI72Um74Asn5vYhVqbg7x2SW,2020-04-06 08:40:58,2020-04-06 08:40:58)

我在尝试注册时遇到此错误

SQLSTATE[23000]:完整性约束冲突:19非空约束失败:users.username(SQL:插入“users”(“name”、“email”、“password”、“updated_at”、“created_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());
为什么呢?我在用户创建表中的电子邮件是

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

请帮我解决这个问题。

问题不在于邮件陷阱,而在于用户名列,在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']),
        ]);
    }

这应该可以解决问题。

您的表中有一个名为
username
的列,该列不允许
null
值,并且似乎没有任何默认值。插入新记录时,需要为该列指定唯一值。如果没有,它将尝试插入
null
,但它无法插入。因此,您的问题是
用户名
列,而不是
电子邮件
列。在我更改.env文件之前,它工作得很好。邮件部分用户名和密码来自mailtrap.ioWell,您收到的错误是因为您忽略了为
用户名
列添加值。看看如何创建用户表,该字段不可为null,因此必须传入一个非null且唯一的值。它是否“以前工作过”并不重要。错误信息很清楚。添加没有任何用户名的用户也没有多大意义。