Php LARAVEL SQLSTATE[HY000]:一般错误:1364字段';电话号码';不';没有默认值
我在Laravel上启动了一个新项目,并希望在用户表中添加两个额外的列(电话号码、位置)。但是,当我尝试注册时,出现以下错误: SQLSTATE[HY000]:一般错误:1364字段“电话号码”没有默认值(SQL:insert intoPhp LARAVEL SQLSTATE[HY000]:一般错误:1364字段';电话号码';不';没有默认值,php,sql,laravel,Php,Sql,Laravel,我在Laravel上启动了一个新项目,并希望在用户表中添加两个额外的列(电话号码、位置)。但是,当我尝试注册时,出现以下错误: SQLSTATE[HY000]:一般错误:1364字段“电话号码”没有默认值(SQL:insert intousers(名称,电子邮件,密码,更新时间,创建时间)值(Lidija,lidija@gmail.com,$2y$10$/BQju2korC4YOm.6yCb2i.sooqqqjtgzeyklrhpff1xqwx86vyky,2020-10-09 15:35:36
users
(名称
,电子邮件
,密码
,更新时间
,创建时间
)值(Lidija,lidija@gmail.com,$2y$10$/BQju2korC4YOm.6yCb2i.sooqqqjtgzeyklrhpff1xqwx86vyky,2020-10-09 15:35:362020-10-09 15:35:36)
我确实迁移了表。可能blade.php中的输入值有问题
用户模型:
我的用户迁移:
用户控制器:
Blade.php:
我做了php artisan优化
,但没有帮助。另外,我尝试了Store方法中的dd($request->all())
,以查看其中的内容,但它没有显示任何内容,只是再次出现了这个错误1364
可能是什么问题?您必须为
电话号码设置默认值(例如null
),或者将其与参数一起传递,否则,您的请求将始终失败
将迁移更改为类似的方式,以便在未作为参数传递时使phone_number为空
$table->integer('phone_number')->unique()->nullable();
因此该表中还有一个名为phone_number
的列。但您没有为该列设置值!!因此,请设置电话号码或使数据库中的列允许为空添加:“blank”在这种情况下表示可为空。将默认值设为空,否则在请求中传递电话号码。@RiggsFolly,但我的视图中有输入。@BhargavVariya我知道我可以在迁移中将其设为默认值,但我想在视图中传递该值。我在屏幕截图中显示了输入。我的输入有问题吗?是的,我可以为空,但这样我就没有值。我通过表单传递参数,但它似乎不起作用,因为在这两种情况下,我都不会从表单获取参数进行调试,请尝试返回整个请求,并查看服务器是否在请求中获得电话号码,如果没有,刀片模板可能有问题。