put($file, ''); // 按月获取数据 $firstDay = UserOperationDaily::select('created_at') ->orderBy('created_at') ->first(); $firstDay = strtotime($firstDay->created_at); $firstMonth = Carbon::create(date('Y-m', $firstDay)); $now = Carbon::now(); $current = $firstMonth; $sumTime = 0; while ($current <= $now) { // code... $start = Carbon::create($current)->startOfMonth(); $end = Carbon::create($current)->endOfMonth(); $date = $current->format('Y-m'); $time = UserOperationDaily::whereDate('created_at', '>=', $start) ->whereDate('created_at', '<=', $end) ->sum('duration') / 1000; $sumTime += $time; $editor = UserOperationDaily::whereDate('created_at', '>=', $start) ->whereDate('created_at', '<=', $end) ->groupBy('user_id') ->select('user_id')->get(); $info = $date.','.(int) ($time / 3600).','.(int) ($sumTime / 3600).','.count($editor); $this->info($info); Storage::disk('local')->append($file, $info); $current->addMonth(1); } return 0; } }