为什么在Laravel5.5模型访问器中可能会忽略diffForHumans?

时间:2018-03-03 19:02:32

标签: php laravel-5 timestamp

我想为created_at字段定义一个访问器。我的代码是:

public function getCreatedAtAttribute($value) {
    return $value->diffForHumans();
}

它会引发Call to a member function diffForHumans() on null错误。

但是$task->created_at->diffForHumans();在视图中工作正常。

1 个答案:

答案 0 :(得分:1)

你应该使用' Carbon'类并创建一个Accessor方法并遵循以下代码。

public function getCreatedAtAttribute($value)
        {
            $carbonDate = new Carbon($value);
            return $carbonDate->diffForHumans();
        }

$datetime = Carbon::createFromDate(2015, 8, 25); // or 
$datetime of course
return $datetime->diffForHumans();