[英]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.