是的,所以我已經收到這個錯誤一段時間了:Illuminate\Database\QueryException SQLSTATE[HY000]:一般錯誤:1364 字段“用戶名”沒有默認值(SQL:插入users(name、、、、)值(ggg email,[email protected],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 關注
- 136 瀏覽
添加回答
舉報
0/150
提交
取消