Laravel受保护的$ dateFormat-如何删除秒?

问题描述 投票:3回答:2

平台:Laravel 5.1

数据库:MySQL

我还使用Fractal Transformers将返回的数据转换为JSON对象。

将这个protected $dateFormat = 'Y-m-d H:i';放入我的模型后(请注意缺少的:s)碳抛出错误:

exception 'InvalidArgumentException' with message 'Trailing data' in C:\project1\vendor\nesbot\carbon\src\Carbon\Carbon.php:425

根据文档,这应该有效:https://laravel.com/docs/5.1/eloquent-mutators#date-mutators

我尝试了以下操作:

  • 将我的MySQL表结构从TIMESTAMP更改为DATETIME-不变
  • 使用substr($time, 0, -3)更改返回值-出现错误
  • 向Gitter寻求帮助,得到了这个:

我可能正在使用不使用MySQL格式的其他持久性

这是什么意思?

如何确保Carbon::now()或MySQL创建的时间戳没有秒数?

OR

我如何只返回Y-m-d H:i

php mysql datetime timestamp laravel-5.1
2个回答
1
投票

您可以尝试以下操作

在模型上放置以下代码

 protected $casts = ['date_time'=>'date'];

对于碳,请使用以下

 Carbon::now()->format('Y-m-d H:i');

0
投票

借助访问器和变异器,您可以根据需要设置时间戳的格式。

这里是created_at时间戳的示例:

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

这是带有一些不同格式的updated at时间戳的示例:

`public function getUpdatedAtAttribute($value)
 {
     return $this->asDateTime($value)->format('d/m/Y - H:i');
 }`
© www.soinside.com 2019 - 2024. All rights reserved.