同一模型中的不同日期访问者

时间:2016-12-17 11:59:30

标签: php laravel laravel-5 eloquent accessor

我有这个,并且很好地给我英国格式的日期:

protected $dateFormat = 'd-m-Y';
protected $dates = ['purchased', 'warranty_expires', 'scrapped_on', 'location_date', 'user_date'];

但是,我也创建并修改了(不是标准的Laravel,但我自己的)Timestamps,而不是日期。如何在检索这两个字段时自动将这两个字段的格式化为类似于' d-m-Y H:i:s' ?

2 个答案:

答案 0 :(得分:1)

您可以使用Carbon库

执行此操作
public function getFormattedPurchasedAttribute($date)
{
   return Carbon::createFromFormat('Y-m-d H:i:s', $date)->format('d-m-Y H:i:s');
}

你必须使用碳类。将此行写在使用所有命名空间的顶部。

use Carbon;

答案 1 :(得分:0)

我个人不使用$dateFormat属性,因为它会更改所有日期字段的格式。我要做的是创建自定义访问器以获取格式化字段,例如:

public function getFormattedPurchasedAttribute($value) {
  return $this->asDateTime($value)->format('d-m-Y H:i:s');
}

因此您现在可以使用$model-formatted_purchased以您想要的方式格式化purchased字段