2015-12-11 9 views
2

В моей базе данных хранятся две даты в формате mysql DateTime YYYY-MM-DD HH:MM:SS. Когда я получаю эти данные (с другими строками и т. Д.), Я хочу преобразовать его в другой формат, возможно, DD.MM.YYYY HH:MM:SS и отобразить его на моем представлении в ячейке таблицы. Мои даты в базе данных называются date_begin и date_end.Формат Laravel DateTime из результата базы данных

Лучше, когда я получу эти даты из базы данных, преобразуйте его в формат DD.MM.YYYY, отделите дату и время, сохраните время в пользовательской строке («HH1: MM1 - HH2: MM2») и принесите оба на мой Посмотреть.

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

ответ

12

Не знаете, где вы получили такое впечатление, что «форматирование даты в представлении не хорошо для MVC», потому что это не проблема бы то ни было.

Если вы используете Eloquent Models вы можете сделать это очень легко:

1. Добавить столбцы в $dates собственности в вашем классе модели:

protected $dates = ['date_begin', 'date_end']; 

Это гарантирует, что значения получите mutated до Carbon instances.

2. В ваших просмотр файлов вы можете использовать метод format, что Carbon предлагает так:

<!-- To use only the date with the given format --> 
{{ $item->date_begin->format('Y.m.d') }} 

<!-- To use only the time with the given format --> 
{{ $item->date_begin->format('H:i:s') }} 

<!-- To use both date and time with the given format --> 
{{ $item->date_begin->format('Y.m.d H:i:s') }} 

Там нет необходимости разделять значения времени и даты, просто показать, что вы хотите от Значение DateTime, используя нужный format.


Если вы не используете красноречивые модели, то вы можете вручную использовать угль для форматирования значения следующим образом:

{{ Carbon\Carbon::createFromFormat('Y-m-d H:i:s', $item->date_begin)->format('Y.m.d') }} 
+0

О, очень хорошо, что работало тоже. Я думал, я должен сделать это в контроллере. : D Большое спасибо! – quantatheist

+0

Добро пожаловать. – Bogdan

Смежные вопросы