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

$data['schedule'] = Carbon::parse($request->schedule)->toDateTimeString();

然后在模型中我定义如下:
protected $dates = [
    'schedule', 'created_at', 'updated_at', 'deleted_at'
];

现在在检索日期时,我使用 diffForHumans() 是这样的:
$event->schedule = $event->schedule->diffForHumans();

但它抛出这样的错误:



我检查了 mySQL 数据库的格式,我有这样的日期:
2017-07-02 14:38:23

编辑:

之前我在将日期存储在表格中时遇到问题,请参阅 How to format date receiving through Vuejs Datepicker in laravel 以获取详细说明。它抛出以下错误:



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

这个怎么解决啊,求大神帮忙。

谢谢。

最佳答案

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

public function getScheduleAttribute($value)
{
    return Carbon::parse($value)->diffForHumans();
}

并将属性访问为
$event->schedule;

关于php - 无法找到两位数的月份 Laravel 中的数据丢失,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44880705/

10-13 07:39
查看更多