首页 > 解决方案 > LARAVEL SQLSTATE [HY000]:一般错误:1364 字段“电话号码”没有默认值

问题描述

我在 Laravel 上开始了新项目,并想在用户表(电话号码、位置)中添加 2 个额外的列。但是当我尝试注册时,我遇到了这个错误:

SQLSTATE [HY000]:一般错误:1364 字段“电话号码”没有默认值(SQL:插入users( 、、、、、 )值(Lidija、lidija@gmail.com、$2y$10$ name/ BQju2korC4YOm.6yCb2i email。soOoQQJTgzEyklrHPfJPF1XQwx86Vyky, 2020-10-09 15:35:36, 2020-10-09 15:35:36))passwordupdated_atcreated_at

我确实迁移了表。也许blade.php中的输入值有问题?

用户型号:

我的用户迁移:

用户控制器:

刀片.php:

我做了php artisan optimize,没有帮助。另外,我尝试dd($request->all())在 Store 方法中查看那里有什么,但它什么也没显示,只是又出现了这个错误 1364。

可能是什么问题呢?

标签: phpsqllaravel

解决方案


您必须为phone_numbernull例如)设置默认值,或者将其与参数一起传递,否则,您的请求将始终失败。

将您的迁移更改为类似的内容,以便在未作为参数传递的情况下使 phone_number 为空。

$table->integer('phone_number')->unique()->nullable();


推荐阅读