copy()->subQuarters($this->option('quarter')); $start = $time->copy()->startOfQuarter(); $end = $time->copy()->endOfQuarter(); $sn = $time->year . '-' . $time->quarter; $list = []; CateRankModel::where('sn', $sn)->delete(); $scoreList = UserScore::query() ->whereBetween('created_at', [$start, $end]) ->select('cate_id', DB::raw('sum(`score`) as `score`')) ->groupBy('cate_id') ->get(); foreach ($scoreList as $item) { $list[] = [ 'sn' => $sn, 'cate_id' => $item->cate_id, 'score' => $item->score, 'created_at' => $now, 'updated_at' => $now, ]; } CateRankModel::insert($list); // 清空党支部当前得分 PartyCate::update([ 'current_score' => 0 ]); } }