亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

我在 Laravel 上收到“一般錯誤:1364”,說我沒有用戶名的默認值,有人可以幫助我嗎?

我在 Laravel 上收到“一般錯誤:1364”,說我沒有用戶名的默認值,有人可以幫助我嗎?

PHP
躍然一笑 2022-06-17 16:19:27
是的,所以我已經收到這個錯誤一段時間了: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



查看完整回答
反對 回復 2022-06-17
?
汪汪一只貓

TA貢獻1898條經驗 獲得超8個贊

你可能錯過了一些東西:

  • 檢查您的遷移,看看您是否有nullable()該列

  • 正如@lagbox 提到的,檢查你的$fillable字段

如果錯誤仍然存在,您可以嘗試編輯config/databse.php

'mysql' => [

     ...

     'strict' => false,

]


查看完整回答
反對 回復 2022-06-17
  • 2 回答
  • 0 關注
  • 136 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號