input('limit', 10); $page = $request->input('page', 1); $offset = ($page - 1) * 10; $date = $request->input('date'); $date = $date ?? Carbon::now()->format('Y-m'); $lists = UserEpisodesRecord::filterUser() ->when($date, function ($query, $date) { /* @var Builder $query */ return $query->where('created_at', 'like', "$date%"); }) ->with(['detail.episode']) ->orderByDesc('id') ->limit($limit) ->offset($offset) ->get(); foreach ($lists as $list) { if ($list->detail && $list->detail->episodes_id) { $count = EpisodesList::where('episodes_id', $list->detail->episode->id)->count(); $list->detail->episode->total = $count; $list->detail->episode->status_text = $list->detail->episode->status; } else { $list->detail->episode->total = 0; $list->detail->episode->status_text = -1; } } return $this->success($lists); } }