我用带有代码的集合制作一个数组:
$hours = Voucher::where('created_at','>=', Carbon::now()->startOfMonth())->get()->groupBy(function($item)
{
return $item->created_at->format('H');
});
dd($hours);
所以我得到这样的数据:
SO键是小时(00-23)。
如何安排从00、01、02、03 ... ...
开始答案 0 :(得分:2)
https://laravel.com/docs/5.6/collections#method-sortkeys
$collection = collect([
'id' => 22345,
'first' => 'John',
'last' => 'Doe',
]);
$sorted = $collection->sortKeys();
更新为5.1
由于您使用的是Laravel 5.1,并且没有sortKeys方法,因此可以在对集合进行排序之前对集合进行排序,这将导致键的顺序正确。
$collection->sort(function($a, $b) {
return strcmp($a->created_at->format('H'), $b->created_at->format('H'));
})->groupBy(function($item) {
return $item->created_at->format('H');
});
答案 1 :(得分:0)
尝试此代码。
$hours = Voucher::where('created_at','>=', Carbon::now()->startOfMonth())->get()->sortBy(function($item)
{
return $item->created_at->format('H');
});
$hours = $hours->groupBy(function($item)
{
return $item->created_at->format('H');
});
dd($hours);