как я могу использовать углерод для вывода created_at
удобочитаемые запросы, такие как Facebook 1 min ago
на его сообщения. Проблема в том, что я всегда возвращаю результаты запроса напрямую в браузер. Как я могу интегрировать это так вместо 2015-07-01 12:32:43
это было бы 1 min ago
или другой, который читается человеком и хорош.
В моем контроллере:
$posts = DB::table('posts')
->where('author_id', '=', $id)
->where('created_at', '<', $date)
->orderBy('created_at', 'desc')
->paginate(10);
return $posts;
Затем он вернет JSON-формат всех сообщений.
Я рекомендую вам использовать модель Eloquent и функции, которые поставляются с ней:
class Post extends Eloquent {
protected $appends = array('created_at_for_humans');
public function getCreatedAtForHumansAttribute(){
return Carbon::parse($this->attributes['created_at'])->diffForHumans();
}
}
это атрибут доступа возвращает отформатированную дату и потому что она зарегистрирована в $appends
атрибут будет включен для преобразования массива / JSON.
И ваш запрос будет выглядеть примерно так же:
$posts = Post::where('author_id', '=', $id)
->where('created_at', '<', $date)
->orderBy('created_at', 'desc')
->paginate(10);
Пытаться:
foreach ($posts as &$post) {
$post->created_at = Carbon::parse($post->created_at)->diffForHumans();
}
до return