为了账号安全,请及时绑定邮箱和手机立即绑定

我在 Laravel 上收到“一般错误:1364”,说我没有用户名的默认值,有人可以帮助我吗?

我在 Laravel 上收到“一般错误:1364”,说我没有用户名的默认值,有人可以帮助我吗?

PHP
跃然一笑 2022-06-17 16:19:27
是的,所以我已经收到这个错误一段时间了: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



查看完整回答
反对 回复 2022-06-17
?
汪汪一只猫

TA贡献1898条经验 获得超8个赞

你可能错过了一些东西:

  • 检查您的迁移,看看您是否有nullable()该列

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

如果错误仍然存在,您可以尝试编辑config/databse.php

'mysql' => [

     ...

     'strict' => false,

]


查看完整回答
反对 回复 2022-06-17
  • 2 回答
  • 0 关注
  • 174 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号