selectRaw('kp_code, COUNT(*) as question_count') ->groupBy('kp_code') ->get(); foreach ($stats as $row) { KnowledgePoint::query() ->where('kp_code', $row->kp_code) ->update([ 'stats' => [ 'question_count' => (int) $row->question_count, ], ]); } $this->info('Knowledge stats rebuilt.'); return self::SUCCESS; } }