Использовать углерод при просмотре laravel

Я хочу использовать Carbon on Views. Я включаю его в верхнюю часть файла views, но он не работает, я делаю это вот так.

 <?php use carbon/carbon;?>
 @extends('main_layout')

      @foreach ($myquery as $mytask) 
                <tr>

                <td >
                 {{($mytask->firstname)}}
                </td>

                 <td >
                        {{($mytask->lastname)}}
                </td>
                    <td>
               {{($mytask->logon)}}
                    </td>

 @section('content')
 @stop

Я просто получаю ошибки. Я хочу преобразовать {{($ mytask- > logon)}} в формат, читаемый человеком, используя углерод

Ответ 1

Я хотел бы добавить sommthing, цитируя Laravel Documentation для гуглеров, чтобы добавить, как вы можете преобразовать свои поля datetime SQL в объекты Carbon:

В вашей модели:

protected $dates = ['created_at', 'updated_at', 'disabled_at','mydate'];

Все поля, присутствующие в этом массиве, будут автоматически доступны в ваших представлениях с помощью функций Carbon, таких как:

{{ $article->mydate->diffForHumans() }}

Ответ 2

Вам не нужно добавлять инструкцию использования для углерода в представлении. Просто убедитесь, что $mytask->logon действительно является углеродным объектом и использует метод format(), чтобы превратить его в строку

{{ $mytask->logon->format('Y/m/d') }}

Edit:

Если $mytask->logon - использование углеродного объекта:

 {{ $mytask->logon->diffForHumans() }}

Если это еще строка, используйте:

{{  \Carbon\Carbon::createFromTimeStamp(strtotime($mytask->logon))->diffForHumans()‌​ }}

Я бы посоветовал сделать это в контроллере или композиторе представления, чтобы ваш взгляд был аккуратным.

Ответ 3

Для laravel 5 Обратите внимание, что если вам нужно выполнить некоторые пользовательские мутации, запустите это в своей модели.

 /**
 * The string attribute that should be cast to custom carbon date.
 *
 * @var array
 */

public function getTimeAttribute()
{
     return Carbon::createFromTimestampUTC($this->attributes['time']/1000);
}

Не волнуйтесь, вы все равно можете получить доступ к исходному атрибуту.

    New = {{ $event->time }} Original = {{ $event->getOriginal('time')}}

Надеюсь, это поможет кому-то, кто не может использовать стандартный способ.

Ответ 4

Использование клинка:

{{ \Carbon\Carbon::parse($mytask->logon)->diffForHumans() }}

Вывод: Для задачи, которая была однажды днем ​​назад

1 day ago

Подробнее о человеко-читаемом времени на Carbon вы можете прочитать - Углеродность для людей