Функция дает мне необработанные данные столбца (Laravel) - PullRequest
0 голосов
/ 05 сентября 2018

Я работаю с Laravel и хочу отобразить временную метку созданного_о времени, отформатированную, конечно, но только там, где id = 1, поэтому самая последняя.

public function statistics(){

  $first = DB::table('articles')
                 ->select('created_at')
                 ->where('id', '=', 1)
                 ->get();

  return view('pages.statistics')->with('first', $first);;

}

лезвие:

{{ $first}}

Я хочу иметь форматированную дату, но когда я использую функцию даты, она автоматически устанавливает дату на 01.01.1970

Вот что я получаю:

[{"creat_at": "2018-08-23 11:45:34"}]

Должен ли я работать с Carbon и если да, то как?

Ответы [ 3 ]

0 голосов
/ 05 сентября 2018

Сначала: Если вы не получаете экземпляр красноречивой модели, даты не будут преобразованы в объект Carbon.

Является ли статья красноречивой моделью? Если это так, вы должны пойти по этому пути:

в модели:

protected $dates = ['created_at'];

в контроллере:

$article = \App\Article::where('id',1)->get()
return view('pages.statistics')->with('article', $article);

А в клинке:

{{$article->created_at}}

или если вы хотите получить доступ к углеродному объекту

{{article->created_at->format('M-d')}}

Если статья не является красноречивой моделью (звучит так, как должно быть), вы должны создать объект Carbon вручную, например:

$first = \Carbon\Carbon::createFromFormat('Y-m-d H:m:s',$first->first()->created_at)
0 голосов
/ 05 сентября 2018

Измените свой код на следующий:

public function statistics(){

    $first = DB::table('articles')
             ->select('created_at')
             ->where('id', '=', 1)
             ->first();

    return view('pages.statistics')->with('first', $first);

}

Тогда, по вашему мнению, вы можете сделать $first->created_at. Вы также можете передать это в Carbon, чтобы отформатировать, как вы хотите.

0 голосов
/ 05 сентября 2018

Это массив json, который вы можете попробовать

$first=json_decode($first,true);

А затем отправьте $first[0]['created_at'] на ваш взгляд

Это вернет только поле даты, которое вы ищете 2018-08-23 11: 45: 34 .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...