是的,所以我已经收到这个错误一段时间了:
Illuminate\Database\QueryException SQLSTATE[HY000]:一般错误:1364 字段“用户名”没有默认值(SQL:插入users(name、、、、)值(ggg email,things@see.com,2019-12-15 2019-12-15 16:58:26 16:58:26))updated_atcreated_at
我不想将用户名设置为nullable,因为我需要它。这是表格的样子:
mysql> desc users;
+-------------------+---------------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------------------+---------------------+------+-----+---------+----------------+
| id | bigint(20) unsigned | NO | PRI | NULL | auto_increment |
| name | varchar(255) | NO | | NULL | |
| email | varchar(255) | NO | UNI | NULL | |
| username | varchar(255) | NO | UNI | NULL | |
| email_verified_at | timestamp | YES | | NULL | |
| password | varchar(255) | NO | | NULL | |
| remember_token | varchar(100) | YES | | NULL | |
| created_at | timestamp | YES | | NULL | |
| updated_at | timestamp | YES | | NULL | |
+-------------------+---------------------+------+-----+---------+----------------+
9 rows in set (0.00 sec)
这是 create 方法的样子:
protected function create(array $data)
{
return User::create([
'name' => $data['name'],
'email' => $data['email'],
'password' => Hash::make($data['password']),
'username' => $data['username'],
]);
}
这就是我得到错误的地方。
编辑: 好的,所以我通过将'username'属性移动到$fillable数组中来修复它。我还复制了 Laravel 提供的原始App/User类,并在其中添加了我的方法。
蛊毒传说
汪汪一只猫