Laravel Eloquent 2 中的 created_at 和 modified_at 应该使用啥类型的列?
Posted
技术标签:
【中文标题】Laravel Eloquent 2 中的 created_at 和 modified_at 应该使用啥类型的列?【英文标题】:What type of column should I use for created_at and modified_at in Laravel Eloquent 2?Laravel Eloquent 2 中的 created_at 和 modified_at 应该使用什么类型的列? 【发布时间】:2012-08-31 00:54:12 【问题描述】:我应该使用 DATETEIME 吗?还是INT?
谢谢!
编辑: 我专门针对
public static $timestamps = true;
在 Eloquent 模型中设置的标志。
【问题讨论】:
是的。不?可能。确实。您是存储日期,还是存储整数?有了那个问题的答案,你的问题就解决了。 Laravel 提供了一个选项来自动处理这个在模型中设置的变量:public static $timestamps = true;我正在尝试构建我的表来支持这一点。 @JamWaffles 你会考虑删除你的反对票吗?或者解释一下? 给你一个赞成票,因为这个问题不像 JamWaffles 回答听起来那么蹩脚。有不同的应用程序为此使用 unix 时间戳。我不想说它的好坏,但它们是存在的,所以应该允许人们质疑。 谢谢。这不是关于什么是最好/最差/对/错的问题,它只是关于框架使用什么的问题,因为我无法通过谷歌搜索或查看文档轻松找到它。 【参考方案1】:Laravel 5 默认是 TIMESTAMP
【讨论】:
【参考方案2】:作为更新:Mich's answer 对 Laravel 3 及以下版本仍然有效,
但从 Laravel 4 开始,它切换到支持 timestamp
列的 created_at
和 updated_at
。
Here's a related issue on GitHub
【讨论】:
【参考方案3】:Laravel 仅支持 datetime
的时间戳。
https://github.com/laravel/laravel/pull/769
【讨论】:
检查我链接的拉取请求;) 我认为它被否决了,因为它不是你可以通过查看 laravel 有据可查的代码来回答自己的问题。因此,如果您查看 laravel/database/eloquent/model.php 并搜索时间戳,您会看到,有一个名为 timestamp() 的公共函数。在此函数中,您将看到 $this->updated_at 设置为 new \DateTime;因此,最好先查看您是否可以自己处理。以上是关于Laravel Eloquent 2 中的 created_at 和 modified_at 应该使用啥类型的列?的主要内容,如果未能解决你的问题,请参考以下文章
Laravel Eloquent ORM 中的 join()->where()
如何根据 laravel eloquent orm 中的两列进行查询