2016-12-27 63 views
0

我想顯示月份,但在關鍵要添加月份和價值添加名稱月份。我有這個代碼,但問題是,當我foreach和顯示$鍵它總是給我的名字。任何建議如何解決這個問題?如何添加爲關鍵一個值,作爲值別的東西?

$archive = []; 
    $archive_current_year = Articles::where('approved',1)->whereBetween('created_at', [ 
     Carbon::now()->startOfYear(), 
     Carbon::now()->endOfYear(), 
    ])->get()->groupBy(function($item) { 
     $archive[Carbon::createFromFormat('Y-m-d H:i:s', $item->created_at)->month] = Carbon::createFromFormat('Y-m-d H:i:s', $item->created_at)->formatLocalized('%B'); 

    return $archive; 
    }); 

回答

1

無法通過一個陣列組。您需要從回調中返回一個字符串。

如果要按月組那麼這將是:

$archive = Articles::where('approved',1)->whereBetween('created_at', [ 
    Carbon::now()->startOfYear(), 
    Carbon::now()->endOfYear(), 
])->get(); 

$archive_by_month->groupBy(function($item) { 
    return Carbon::createFromFormat('Y-m-d H:i:s', $item->created_at)->month; 
}); 

而且,你不需要在groupBy在Laravel created_at創建Carbon情況下,在默認情況下並updated_at已經Carbon實例。

return $item->created_at->month; 

應該工作得很好。

相關問題