坑:Laravel模型查询数据,日期慢8小时

2022-03-03  本文已影响0人  Acto

从Laravel7开始,使用模型查询数据,created_at、updated_at等日期类型的数据,查询出来的结果都会慢8个小时
不多不少,刚好8个小时。。。于是想到了时区转换问题
最后,查看Laravel7官方文档https://learnku.com/docs/laravel/7.x/upgrade/7445#date-serialization,找到问题所在:

image.png

实际开发过程中,可以创建一个特征库FormatDate,或者在BaseModel中重写父类方法,这里 使用的是特征库FormatDate,在需要使用的模型中,直接use Formate即可。

<?php


namespace App\Models\Traits;


use DateTimeInterface;

trait FormatDate
{
    /**
     * 为数组 / JSON 序列化准备日期。
     *
     * @param \DateTimeInterface $date
     * @return string
     */
    protected function serializeDate(DateTimeInterface $date)
    {
        return $date->format($this->dateFormat ?: 'Y-m-d H:i:s');
    }
}
上一篇下一篇

猜你喜欢

热点阅读