使用Eloquent/Laravel存储日期

3

在 Eloquent 模型中存储日期有什么好方法?我使用 Laravel 框架的 PHP。

class MyModel extends Eloquent {
  // I want a date field here... should it be:
  public $endTime = ?;
}

我应该使用保存为整数的时间戳吗?如果我在属性中使用Date对象并保存该对象,那么会发生什么行为?

1个回答

5
如果您正在使用迁移,那么请使用$table->timestamp('endTime'),这将创建一个名为endTimetimestamp字段。

默认情况下,Eloquent会将created_atupdated_atdeleted_at列转换为Carbon实例,它提供了各种有用的方法,并扩展了本地的PHP DateTime类。您可以通过覆盖模型的getDates方法来自定义自动变异的字段,甚至完全禁用此变异。

在您的模型中添加此方法:

public function getDates()
{
    return array('created_at', 'updated_at', 'deleted_at', 'endTime');
}

Laravel会处理这些字段,默认情况下,每个字段都将是Carbon对象的实例。阅读date mutators。在这种情况下,所有Carbon的方法都可以用于这些字段。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接