在数据库中存储数据时,自定义时间戳格式Eloquent Models


customize the timestamp format Eloquent Models when Storing data in the database

根据Laravel Docs说:

默认情况下,时间戳格式为'Y-m-d H:i:s'。如果您需要自定义时间戳格式,请在模型上设置$dateFormat属性。该属性决定日期属性如何存储在数据库中,以及当模型被序列化为数组或JSON时它们的格式

<?php
namespace App;
use Illuminate'Database'Eloquent'Model;
class Flight extends Model
{
    /**
     * The storage format of the model's date columns.
     *
     * @var string
     */
    protected $dateFormat = 'U';
}

我想存储所有created_atupdated_at值为整数unix时间戳

我应该为受保护的$dateFormat变量设置哪些值而不使用日期Mutators ?

我不知道为什么文档告诉设置dateFormat作为一个属性,但这是有效的:

protected function getDateFormat()
{
    return 'U';
}

我认为dateFormat属性的默认值是U,这导致所有dateTime值存储为字符串时间戳(YYYY-MM-DD HH:MM:SS),而当我想存储为整数时间戳时,必须将protected $dateFormat = 'U';添加到所需的模型。