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