Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Страницы 1
В представлении через foreach вывожу DateTime с БД. Но мне нужно выводить только часы и минуты. Не могу понять как и где это форматирование задать.
Контроллер:
$items = DB::table('schedule')
->orderBy('dtime', 'asc')
->get();
return view('pages.schedule', ['items' => $items]);
Представление:
@foreach($items as $item)
<div class="schedule-item">
<div class="s-time">{{ $item->dtime }}</div>
</div>
@endforeach
Я знаю, что можно задать желаемый формат следующим образом:
$time = new \DateTime($item->dtime);
$i = $time->format('H:i'));
Но не могу понять, как это реализовать по человечески.
Не в сети
Я дурачёк. Сделал следующим образом:
@foreach($items as $item)
<?php
$time = new DateTime($item->dtime);
$i = $time->format('H:i');
?>
<div class="schedule-item">
<div class="s-time">{{ $i }}</div>
</div>
@endforeach
Если это слишком тупо, то критика приветствуется.
Не в сети
почитать про Carbon (в лару 5.2 вроде встроен уже, поправьте если не прав).
https://scotch.io/tutorials/easier-date … ith-carbon
Carbon собой экстендит DateTime
затем в шаблоне начни с {{Carbon::now()}}
Не в сети
https://laravel.com/docs/5.2/eloquent-m … e-mutators
Нужно в модели добавить
protected $dates = ['dtime'];
после этого ты сможешь использовать Carbon метод $item->dtime->format('H:i')
Страницы 1