select('uid')->get(); $this->info('channel:'.count($nissaya_channel)); $maxDay = 360; $file = "public/statistics/nissaya-monthly.csv"; Storage::disk('local')->put($file, ""); #按月获取数据 $firstDay = Sentence::whereIn('channel_uid',$nissaya_channel) ->orderBy('created_at') ->select('created_at') ->first(); $firstDay = strtotime($firstDay->created_at); $firstMonth = Carbon::create(date("Y-m",$firstDay)); $now = Carbon::now(); $current = $firstMonth; $sumStrlen = 0; while ($current <= $now) { # code... $start = Carbon::create($current)->startOfMonth(); $end = Carbon::create($current)->endOfMonth(); $date = $current->format('Y-m'); $strlen = Sentence::whereIn('channel_uid',$nissaya_channel) ->whereDate('created_at','>=',$start) ->whereDate('created_at','<=',$end) ->sum('strlen'); $sumStrlen += $strlen; $editor = Sentence::whereIn('channel_uid',$nissaya_channel) ->whereDate('created_at','>=',$start) ->whereDate('created_at','<=',$end) ->groupBy('editor_uid') ->select('editor_uid')->get(); $info = $date.','.$strlen.','.$sumStrlen.','.count($editor); $this->info($info); Storage::disk('local')->append($file, $info); $current->addMonth(1); } return 0; } }