【问题标题】:Laravel - Date mutators & formatLaravel - 日期修改器和格式
【发布时间】:2020-05-27 13:55:50
【问题描述】:

我正在尝试理解 Laravel 7 中的 Dates Mutator。

我的问题:我正在开发一个 API,我有日期要存储,格式为 d/m/Y

所以在我的模型中,我放了:

/**
 * @var array
 */
protected $fillable = ['type', 'calendar_start', 'calendar_end', 'all_day', 'deleted_at'];

/**
 * @var array
 */
protected $casts = [
    'calendar_start'  => 'date:d/m/Y',
    'calendar_end' => 'date:d/m/Y',
];

那我想做:MyModel::create($request->all());

其中calendar_startcalendar_endd/m/Y 格式的日期

但我有错误:

日期时间格式无效:1292 日期值不正确:'01/01/2020' “日历开始”列

那么,我需要格式化请求吗?有没有办法让它通用?

【问题讨论】:

  • 使用 laravel 观察者,将请求数据发送给观察者,然后在插入之前将日期值 d/m/Y 更改为 Y-m-d

标签: laravel


【解决方案1】:

日期格式

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

protected $dateFormat = 'd/m/Y';

你也可以使用Accessors & Mutators

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2017-08-29
  • 1970-01-01
  • 2023-03-08
  • 2016-09-05
  • 2013-08-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多