如何在Laravel 7中设置全局的Carbon格式?

问题描述 投票:0回答:1

我刚刚升级了我的Laravel应用程序从 6.x7.x 和我有问题 与日期日期戳。我知道一些事情改变了关于这一点。

我试图设置一个默认的 Carbon 的格式。我有一些自定义的 timestamp 我的数据库中的字段,是这样创建的。

$table->timestamp('published_at')->nullable();

升级后我开始收到以下错误,每当这些字段被更新的时候

Invalid datetime format: 1292 Incorrect datetime value: '2020-04-04T11:00:00.000Z' for column 'published_at'

我试着在每个字段上使用建议的方法 model:

protected function serializeDate(DateTimeInterface $date)
{
    return $date->format('Y-m-d H:i:s');
}

但是这个方法从来没有被调用过,也就无法工作。

然而,设置一个突变器却能正常工作。

public function setPublishedAtAttribute($value)
{
    $this->attributes['published_at'] = Carbon::parse($value)->format('Y-m-d H:i:s');
}

但我想避免这些字段的重复代码。总共有14个字段需要创建这些突变器, 所以我想知道是否有更好的方法?

laravel
1个回答
0
投票

好吧,我想通了。我只是不得不添加这些时间戳到

protected $dates = [];
© www.soinside.com 2019 - 2024. All rights reserved.