2015-12-02 38 views
0

我在Laravel中編寫了一個功能,用戶可以使用選擇框來選擇某個日期。按照標準,這些日期保存在我的表格中的y-m-d中。如何在Laravel中使用::列表格式化日期

我已經成功地用雄辯的解決方案格式化日期dd/mm/yyyy,添加到我的口才型號叫Dataslot:

保護$日期= [「maand」];

然後我可以使用以下格式來設置日期。

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

爲了將數據存儲區的ID和日期傳遞給我的選擇框,我選擇了使用lists方法。

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

這會返回一個數組。我不能像第一個例子中的對象那樣在這個數組上使用format方法。

我該如何獲得一個格式化日期數組,並將ID作爲關鍵字發送到我的視圖?

回答

0

會這樣嗎?

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

的日期是正確的dataslot的formated.The ID也被添加到值我的選擇框。現在唯一的問題是,選項組標籤會自動添加,並且數組的鍵在其中。 – 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'); 
}