一、问题描述
使用框架默认的模型查询数据,created_at、updated_at日期类型的数据,查询出来的结果都会慢8个小时。
二、解决
1、model模型上设置 $dateFormat 属性
/**
* 模型日期字段的存储格式。
*
* @var string
*/
protected $dateFormat = 'U';
2、修改config/app.php的时区修改成中国时区
'timezone' => 'PRC',
3、在baseModel中重写serializeDate方法
?>php
namespace App\Common\Models;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use DateTimeInterface;
/**
* Class BaseModel 基础model类
* @package App\Common\Models
*/
class BaseModel extends Model
{
use HasFactory;
/**
* 模型日期字段的存储格式。
*
* @var string
*/
protected $dateFormat = 'U';
protected function serializeDate(DateTimeInterface $date)
{
return $date->format('Y-m-d H:i:s');
}
}