繁体   English   中英

自动更改日期字段的格式(Laravel)

[英]Change automatically the format of date fields (Laravel)

我正在寻找一个可以更改日期格式的DateTime变量, 我正在使用Oracle DB ,允许的格式为(DD / MM / YYYY),输入类型“日期”将日期存储在(YYYY,MM,DD)中)格式。

我通过Torzer找到了$ date函数和一个特征,但是我必须指出要转换格式的字段。

是否有一些特征或功能可以检测所有日期字段并自动将其转换为(DD / MM / YYYY)格式? 这没有指明领域。

如今,我在模型中使用受保护的$ date:

protected $dates = [ 'fecha_nac', 'fecha_nac1', 'fecha_nac2', ];

默认情况下,laravel使用日期格式'Ymd H:i:s'如果要使用其他格式,则可以通过以下方式在模型中自定义它。

    protected $dateFormat = 'your date formate';

根据您的情况。

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

您可以覆盖HasAttributes特征的getDates方法。

/**
 * Get the attributes that should be converted to dates.
 *
 * @return array
 */
public function getDates()
{
    $defaults = [static::CREATED_AT, static::UPDATED_AT];

    return $this->usesTimestamps()
                ? array_unique(array_merge($this->dates, $defaults))
                : $this->dates;
}

在您的模型上:

public function getDates()
{
    $dates = parent::getDates();

    // add your dynamic logic here

    return $dates;
}

我真的会明确定义应该转换的字段,因为如果您大量使用模型,这些动态操作可能会非常昂贵。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM