可以创建关联数组并按键排序
$results = [];
foreach($monthlyResult as $mResult){
$month = date('n', strtotime($mResult->created_at));
$results[$month] = (isset($results[$month])) ? ($results[$month] + $mResult->duration) : $mResult->duration ;
}
ksort($results);
正如@c2486所提到的,您可以使用
orderBy
$monthlyResult = DB::table('workings')
->where('user_id', $user_id)
->whereYear('created_at', $year)
->orwhere(function ($query) use ($user_id, $year) {
$query->where('user_id', $user_id)
->whereYear('deleted_at', $year);
})
->orderBy(DB::raw('month(created_at)'))
->get();