我正在创建一个 Laravel 应用程序。之前我曾经为created_at 和updated_at 设计带有datetime 数据类型的数据库,但是我的一个朋友建议我应该使用timestamp 而不是datetime,因为它适用于不同的时区。
使用时间戳而不是日期时间格式是个好主意吗?会不会有性能问题?如果“否”,那么我们如何在 Laravel 应用程序中将时间戳的默认格式从日期时间更改为全局时间戳。
例如(默认):
$model->created_at = "yyyy-mm-dd h:i-s";
$model->updated_at = "yyyy-mm-dd h:i-s";
整数时间戳:
$model->created_at = 1523246567;
$model->updated_at = 1523246567;
不幸的是,我无法回答您的前两个问题,但 Laravel 确实提供了一种简单的方法来更改您的日期存储格式。
该日期存取器文档中说,一个可以设置$dateFormat
属性你的模型是这样的:
/**
* The storage format of the model's date columns.
*
* @var string
*/
protected $dateFormat = 'U';
该'U'
格式将是“自Unix纪元秒。” php 日期文档中提供了更多格式。
您还需要更改模型的迁移。替换$table->timestamps();
为$table->unsignedInteger('created_at');
和$table->unsignedInteger('updated_at');
。
要“全局”使用特定的日期格式,即对于所有模型,您可以在基本模型上设置日期格式并让所有模型继承该模型,或者使用特征。有关示例,请参阅此问题。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句