php - 删除 eloquent 模型中的日期修改器
问题描述
我有一个模型,其created_at
值定义为 Unix 时间戳。
我检索我的模型的一个实例$model = Model::where(...)->first()
当我var_dump($model->created_at)
得到一个Illuminate\Support\Carbon
实例而不是我的整数时间戳时。
根据文档(重点是我的):
默认情况下,Eloquent 会将 created_at 和 updated_at 列转换为 Carbon 的实例,它扩展了 PHP DateTime 类以提供各种有用的方法。您可以通过覆盖模型的 $dates 属性来自定义自动更改的日期,甚至完全禁用此更改
我已经尝试添加protected $dates = []
到我的模型中,但我仍然得到Carbon
对象而不是整数。
如果我禁用时间戳 ( public $timestamps = false;
) 它可以工作,但是当我创建新条目时我不会插入我的时间戳 - 我需要它。
解决方案
您是否尝试过使用:
protected $casts = [
'created_at' => 'integer'
];
推荐阅读
- c++ - 给出问题的运行时错误的代码 给定范围内的最大异或对
- c++ - 基于 C++ 模板的 get()
- google-cloud-platform - 在谷歌云托管上从试用到付款后,我的网站无法打开
- c# - 警告“字段 .... 从未分配给并且将始终具有其默认值 null”
- webpack - Webpack 5:如何允许 setImmediate?
- javascript - 算法的时间复杂度 - JavaScript
- php - 抽象工厂无法创建 magentoframeworkappdeploymentconfig 的实例(别名:Magento\Framework\App\DeploymentConfig)
- c++ - 如何按 shared_ptr 包含的索引比较两个向量索引
- r - 与 ifelse 语句一起应用,并且 is.na 不是“求和”而是输出矩阵 - 我的逻辑错误在哪里?
- android - 在 Android 4.2 上运行谷歌云语音 api