根据文档, Laravel 自动将created_at
and updated_at
(来自 Eloquent 模型)传递给新的 Carbon 实例。
但是,如果该值是默认值,它似乎0000-00-00 00:00:00
会输出以下内容:
-0001-11-30 06:12:32
对于所有0000-00-00 00:00:00
值。
这些字段设置为时间戳类型。
我目前正在使用以下内容(在模型中),但是必须在所有可能包含默认/未设置日期的 Laravel 模型中执行此操作感觉很笨拙。
public function getCreatedAtAttribute($value) {
return $value == "0000-00-00 00:00:00" ? "0000-00-00 00:00:00" : $value;
}