php - 为 laravel 中日期时间格式的字段返回 unix 时间戳格式

标签 php laravel

我有一个像这样的 Message 模型:

class Message extends Model
{
    protected $primaryKey = 'message_id';
    protected $dates      = ['created_at', 'updated_at', 'receiver_deleted_at', 'sender_deleted_at', 'sender_read_at', 'receiver_read_at'];
}

如您所见,有些日期字段将日期保存为 DATETIME(YYYY-MM-DD HH:MM:SS) 格式。

但我希望在获取模型实例时,所有日期字段都转换为 unix-timestamp 格式,然后返回。

我知道可以为每个字段使用这样的访问器:

public function getCreatedAtAttribute()
{
    dd(strtotime($this->attributes['created_at']));
    return strtotime($this->attributes['created_at']);
}

但在这种情况下,我必须为每个字段定义一个像上面那样的函数。

但我想要一种更简单的方法来强制模型以 unix 时间戳格式返回日期字段。

最佳答案

protected $casts = [
    'created_at' => 'timestamp',
    'updated_at' => 'timestamp'
];

在模型中只需添加这些转换以获得 unix 时间戳

关于php - 为 laravel 中日期时间格式的字段返回 unix 时间戳格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43558710/

相关文章:

php - 如何完成安装 php trader 扩展

php - Angular 2 http.post FormData() 到 PHP 上传文件

php - 在 Laravel 迁移文件中填充数据库

javascript - 如何为不同的 Vue 布局使用不同的资源?

php - 读取word文件标题的问题

php - Laravel 5 加入同一张表

php - Laravel belongsTo() 列命名问题

php - 背景中树上的鸟

php - 不显示多个 SELECT 变量

php - 使用现有 ISBN 和 PHP 的书籍封面