2015-12-02 9 views
0

Я кодирую функцию в Laravel, где пользователь может использовать поле выбора, чтобы выбрать определенную дату. По стандарту эти даты сохраняются в y-m-d в моей таблице.Как отформатировать дату в Laravel, используя :: lists

мне удалось отформатировать дату в dd/mm/yyyy с помощью раствора Красноречивого, добавляя к моей красноречивой Модели называется Dataslot:

защищенных $ дата = [ «maand»];

Впоследствии я мог использовать следующее для форматирования даты.

 $d = Dataslot::find(1); 
    $dformat = $d->maand->format('d-m-Y'); 

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

$dataslots = Dataslot::lists("maand","id"); 

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

Как я могу создать массив форматированных дат с идентификатором в качестве ключа для отправки на мой просмотр?

ответ

0

Будет ли это делать?

$dataslots = Dataslots::all()->map(function($dataslot) { 
    return [$dataslot->id => $dataslot->maand->format('d-m-Y')]; 
}); 
+0

дата правильно formated.The идентификатор dataslot также добавляется к значению моего окна выбора. Единственная проблема, с которой я столкнулся, заключается в том, что метка optiongroup добавляется автоматически, с ключом массива в ней. – LucasPoignon

+0

@LucasPoignon - это звучит как проблема с представлением. Добавьте подробности в вопрос или создайте новый вопрос. Или, если решение - это то, что вам нужно, просто примите его :) – markdwhite

+0

Хорошо, я посмотрю немного дальше и при необходимости отправлю новый вопрос. Большое спасибо! – LucasPoignon

2

Непрошеный (я нахожусь на мобильном телефоне прямо сейчас), но это должно работать;

Carbon::setToStringFormat('d-m-Y'); 
$dataslots = Dataslot::lists('maand', 'id'); 

Вы можете изменить Углерод назад после того, как с:

Carbon::resetToStringFormat(); 
0

это сделал трюк:

$dataslots = Dataslot::all(); 

foreach ($dataslots as $o) { 
    $flatArray[$o->id] = $o->maand->format('d-m-Y'); 
} 
Смежные вопросы