生成数据时,提示 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三个变量设为空,可以产生数据。代码都是复制黏贴的,应该不会有错。不知道是不是版本的问题。希望有大神帮我解答疑惑。
十分感谢

《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
最佳答案

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

3年前 评论
讨论数量: 3

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

3年前 评论

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

3年前 评论

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

3年前 评论

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