- $episodes = Episode::with('event')
- ->where('confirmed', '=', true)
- ->where('event.visible', '=', true);
+ $validatedData = $request->validate([
+ 'after' => 'nullable|date',
+ 'before' => 'nullable|date',
+ ]);
+ $after = isset($validatedData['after']) ? $validatedData['after'] : Carbon::now()->sub(2, 'hours');
+ $before = isset($validatedData['before']) ? $validatedData['before'] : Carbon::now()->add(1, 'days');
+ $episodes = Episode::with(['channels', 'event', 'players', 'players.user'])
+ ->select('episodes.*')
+ ->join('events', 'episodes.event_id', '=', 'events.id')
+ ->where('episodes.confirmed', '=', true)
+ ->where('episodes.start', '>=', $after)
+ ->where('episodes.start', '<=', $before)
+ ->where('events.visible', '=', true)
+ ->orderBy('episodes.start')
+ ->limit(1000);