【发布时间】:2023-03-08 14:52:01
【问题描述】:
我想转换 mi 数据库中的日期字段,以不同的格式显示它们。 在数据库中,日期字段以“y-m-d”格式存储,但我想以“d-m-y”格式显示它们。 我确实找到了一个特征(torzer mutator),这就是我想要的,但我需要知道如何在不指定要进行转换的列的情况下做到这一点,这是一种自动检测具有日期字段的列的方法.
我知道这可能没有意义,但我的老板想减少这方面的代码,不幸的是我没有找到类似的东西。
<?php
use Torzer\Common\Traits\MapDateTimeMutator;
class MyClass extends Model {
use MapDateTimeMutator;
protected $mapDateTimeMutator = [
'start_date' => ['from' => 'd/m/Y', 'to' => 'Y-m-d'],
'finish_date' => ['from' => 'd/m/Y', 'to' => 'Y-m-d']
];
protected $dates = [
'approved_at', 'start_date', 'finish_date'
];
...
这就是 Torzer mutator 的工作方式。
【问题讨论】:
-
你为什么不只是 {{ date('YOUR_FORMATE_SPECIFER',$date') }} 在刀片中显示,而不更改数据库中的默认日期结构?
-
@ViperTecPro 添加到模型上
$dates属性的列被转换为Carbon实例,所以你不需要使用PHP的date(),你可以调用format()方法财产,例如{{ $model->start_date->format('d/m/y') }} -
ohhhk 明白了,谢谢
-
@RossWilson 谢谢兄弟,我会建议,这对我有用。
标签: php laravel datetime php-carbon