startOfMonth()->timestamp; // Aggregate per-node data into per-day entries for backward compatibility $records = StatUser::query() ->select([ 'user_id', 'server_rate', 'record_at', 'record_type', DB::raw('SUM(u) as u'), DB::raw('SUM(d) as d'), ]) ->where('user_id', $request->user()->id) ->where('record_at', '>=', $startDate) ->groupBy(['user_id', 'server_rate', 'record_at', 'record_type']) ->orderBy('record_at', 'DESC') ->get() ->map(function ($item) { $item->u = (int) $item->u; $item->d = (int) $item->d; return $item; }); $data = TrafficLogResource::collection($records); return $this->success($data); } }