Laravel5.6 开启自动维护时间戳,为什么通过主键查找记录报错呢???

file
file
file
之前一直都是手动添加时间戳的,但是今天打开想学习以下,结果碰到这个情况了。。

《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 9
liuhuo

应该是数据库时间戳类型的问题 换成timestamp NULL DEFAULT NULL试试

5年前 评论

@cloud_w 刚刚试了一下,现在是问题是这样了
我能够新增一条数据,但是
1:我的update的时间戳在第一次插入的时候也更新了(正常逻辑应该是0 ,下次更新这条记录才会记录时间戳)
file

2:依旧报了一个错误

Argument 1 passed to Illuminate\Database\Eloquent\Model::serializeDate() must implement interface
DateTimeInterface, string given, called in
/opt/data/www/laravel/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Concerns/HasAttributes.php
on line 129

file

5年前 评论

@cloud_w 这是那个抛出错误的方法

file

5年前 评论
liuhuo

@ericdemon 1、第一次插入数据的时候更新时间和创建时间相同没毛病
2、建议你先把变量打印出来,找出问题所在

5年前 评论

@cloud_w 原谅我的无知,模型表自动维护的时间 新增的记录,修改时间直接会被记录进去吗?我一直以为是第二次修改的时候才会记录时间到修改时间这列里。。

5年前 评论
liuhuo

@ericdemon 新增的时候就会自动维护的

5年前 评论

@cloud_w 那比如我要找所有没有修改过的记录,那不是会很麻烦,需要去比较新增时间是否相同?

5年前 评论
liuhuo

@ericdemon 对比一下时间不会很麻烦啊

5年前 评论

@cloud_w 好像也对的,而且这个用处感觉不是很多,谢谢指点

5年前 评论

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