找不到两位数的月份 Laravel 中数据丢失

Nit*_*mar 5 php laravel php-carbon laravel-5.4

我有一个表,通过日期选择器以日期格式存储数据。在存储日期时我正在做这样的事情:

$data['schedule'] = Carbon::parse($request->schedule)->toDateTimeString();
Run Code Online (Sandbox Code Playgroud)

然后在模型中我定义如下:

protected $dates = [
    'schedule', 'created_at', 'updated_at', 'deleted_at'
];
Run Code Online (Sandbox Code Playgroud)

现在,在检索日期时,我正在使用diffForHumans()如下内容:

$event->schedule = $event->schedule->diffForHumans();
Run Code Online (Sandbox Code Playgroud)

但它抛出这样的错误:

找不到两位数的月份。数据缺失

我检查了 mySQL 数据库的格式,我的日期如下:

2017-07-02 14:38:23
Run Code Online (Sandbox Code Playgroud)

编辑:

之前我在将日期存储在表格中时遇到问题,请参阅如何在 laravel 中通过 Vuejs Datepicker 格式化接收日期以获取详细说明。它抛出错误:

日期时间格式无效:1292 日期时间值不正确:第 1 行“计划”列的“2017-05-04T18:30:00.000Z”

所以我选择将其存储在数据库中时使用Carbon::parse

怎么解决这个问题,帮帮我吧。

谢谢。

lin*_*ref 4

尝试在模型中使用访问器方法。

public function getScheduleAttribute($value)
{
    return Carbon::parse($value)->diffForHumans();
}
Run Code Online (Sandbox Code Playgroud)

并访问属性为

$event->schedule;
Run Code Online (Sandbox Code Playgroud)