diffForHumans()不在db Facades上工作

时间:2017-02-08 10:40:43

标签: laravel laravel-5.3

大家好我想在diffForHumans()

中显示日期

在我使用的线程控制器中

$thread = DB::table('threads')
     ->join('users', 'users.id', '=', 'threads.user_id')
     ->select('users.*', 'threads.*')
     ->orderBy('threads.id', 'DESC')
    ->get();  return view('thread.index', compact('thread'));

在我看来

{{ $item->created_at->diffForHumans() }}

但我发现错误

Call to a member function diffForHumans() on string

在此之前我使用$thread = Thread::paginate(3);和方法diffForHumans()工作 我的问题是什么?

1 个答案:

答案 0 :(得分:6)

Laravel DB Facade不返回有说服力的对象,因此,created_atupdated_at不属于DateTime类型。 Eloquent对象的datetime实例返回Carbon的实例。

<强>解决方案

因为您的created_at是一个字符串,所以您必须解析它才能让Carbon工作。

{{ \Carbon\Carbon::parse($item->created_at)->diffForHumans() }}