为避免浪费时间……先上解决方案
在Model中重写 CREATED_AT
和 UPDATED_AT
两个类常量就可以了,这两个常量分别是创建时间和更新时间的字段名。
===============================================
以下只是简单的介绍和十分逗比的解决过程
Laravel 是十分强大的全栈PHP框架,其衍生品 Lumen 则更加专精一些,官方将其定位在微服务和API开发领域。
Lumen 也是我目前采用的 API 开发框架,作为 Laravel 的子集,Lumen同样可以使用强大的 Eloquent ORM。
Laravel 的 Eloquent ORM 提供了漂亮、简洁的 ActiveRecord 实现来和数据库进行交互。每个数据库表都有一个对应的「模型」可用来跟数据表进行交互。你可以通过模型查询数据表内的数据,以及将记录添加到数据表中。
原文
问题
Eloquent 中使用了大量的约定来减轻开发者的负担,比如本次要提到的'创建时间'和'更新时间'字段
默认情况下,Eloquent 会认为在你的数据库表有 created_at 和 updated_at 字段。如果你不希望让 Eloquent 来自动维护这两个字段,可在模型内将 $timestamps 属性设置为 false
原文
通常来讲,我们只要按照这些约定来设计数据库和模型就好了,在数据表中建立created_at 和 updated_at 字段,然后就不用操心别的了~
但总有些特殊场景让我们无法遵从约定,比如我手上的项目,数据表结构由合作团队的人员设计好了,创建时间和更新时间分别是 createtime
和 updatetime
,而且对方已经开发上了……再让人家改字段名显然也不太合适。
中文教程文档上看起来没有提如何修改字段……那就翻翻API文档吧……
果然API文档里找到了两个常量:CREATED_AT
和 UPDATED_AT
;
看介绍,这两个值就是我想要的字段名了。遂重写之。可用。喜。
原本以为教程文档上就是不全,关键时刻还是要去查API文档,然而事后去翻了一下官方的英文文档……
If you need to customize the names of the columns used to store the timestamps, you may set the CREATED_AT and UPDATED_AT constants in your model
这TM不就写着呢吗(╯‵□′)╯︵┻━┻
这个故事告诉我们……翻译出来的文档上未必就是齐全的……翻译文档上没写的内容未必就是原文没有的……