【发布时间】:2018-10-22 15:53:46
【问题描述】:
我有一个模型,其 created_at 值定义为 Unix 时间戳。
我使用$model = Model::where(...)->first()检索我的模型实例
当我 var_dump($model->created_at) 时,我得到一个 Illuminate\Support\Carbon 实例而不是我的整数时间戳。
根据the documentation(强调我的):
默认情况下,Eloquent 会将 created_at 和 updated_at 列转换为 Carbon 的实例,它扩展了 PHP DateTime 类以提供各种有用的方法。您可以通过覆盖模型的 $dates 属性来自定义自动更改的日期,甚至完全禁用此更改
我尝试将protected $dates = [] 添加到我的模型中,但我仍然得到Carbon 对象而不是整数。
如果我禁用时间戳 (public $timestamps = false;),它会起作用,但是当我创建新条目时,我不会插入时间戳 - 我需要它。
【问题讨论】:
-
你试过
protected $timestamps = false吗? -
@thisiskelvin 但是如果我禁用 $timestamps 我在创建新条目时不会在表中获得 created_at 值。我仍然需要那个
-
您可以手动添加。
-
此外,您可以在创建、更新、删除模型后添加模型事件/观察者。你想让我回答一下吗?
-
这对我有用。请做@thisiskelvin
标签: php laravel date laravel-5.6 mutators