生成数据时,提示 inerst 时间戳类型不匹配

php artisan db:seed –class=UsersTableSeeder时,数据已经产生了,但是提示“SQLSTATE[22007]: Invalid datetime format: 1292 Incorrect datetime value: ‘2020-05-12T14:33:53.000000Z’ for column ‘created_at’ at row 1 (SQL: insert into users (created_at, email, email_verified_at, name, password, remember_token, updated_at) values (2020-05-12T14:33:53.000000Z, deanna.metz@example.org, 2020-05-12T14:53:44.000000Z, Damian Kuhic, $2y$10$TKh8H1.PfQx37YgCzwiKb.KjNyWgaHb9cbcoQgdIVFlYg7B77UdFm, QSUic0zo19, 2020-05-12T14:33:53.000000Z), ”。
我查看了一下,是时间戳多了‘T’和‘000000Z’,我尝试在UserFactory文件中的$data_time改为常量‘2020-05-12 14:33:53’,问题依旧。看来是insert时强制格式化了。目前是把created_at, update_at,email_verified_at三个变量设为空,可以产生数据。代码都是复制黏贴的,应该不会有错。不知道是不是版本的问题。希望有大神帮我解答疑惑。
十分感谢

《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
最佳答案

你应该是用到 7.x 版本了,你查看 升级说明,有提到,顺便说一下,需要引用时间接口,可看 原文档

4年前 评论
讨论数量: 3

你应该是用到 7.x 版本了,你查看 升级说明,有提到,顺便说一下,需要引用时间接口,可看 原文档

4年前 评论

@zengsp 十分感谢,确实是我的laravel是7.*,我去读一下文档,十分感谢!!看来下次得跟老师得版本同步。

4年前 评论

7.x版本填充假数据更为简洁,使用如下格式生成50个假用户,时间戳不会被格式化, factory(User::class, 50)->create()->each(function ($user) { // 回调函数 })

4年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!