是的,所以我已经收到这个错误一段时间了: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类,并在其中添加了我的方法。
2 回答
蛊毒传说
TA贡献1895条经验 获得超3个赞
确保您已将字段添加username到$fillable模型上:
protected $fillable = [
...
'username',
];
Laravel 6.x 文档 - Eloquent - 批量分配 $fillable
汪汪一只猫
TA贡献1898条经验 获得超8个赞
你可能错过了一些东西:
检查您的迁移,看看您是否有
nullable()该列正如@lagbox 提到的,检查你的
$fillable字段
如果错误仍然存在,您可以尝试编辑config/databse.php:
'mysql' => [
...
'strict' => false,
]
- 2 回答
- 0 关注
- 174 浏览
添加回答
举报
0/150
提交
取消
