Champion::orderBy('name')->get()); $roles = Cache::remember('championsRolesCache', $eightHoursInSeconds, static fn () => ChampionRoles::orderBy('champion_name')->get()); return view('champions.index', ['champions' => $champions, 'roles' => $roles]); } /** * Display the specified resource. */ public function show(Champion $champion) { $threeDaysInSeconds = 60 * 60 * 24 * 3; $sixMonthsInSeconds = 60 * 60 * 24 * 30 * 6; $champion = Cache::remember('championShowCache'.$champion->slug, $threeDaysInSeconds, static fn () => $champion->load('streamers', 'skins', 'lanes')); $streamers = $champion->load('streamers')->streamers; $splashColor = Cache::remember( 'championSplashColorCache'.$champion->slug, $sixMonthsInSeconds, static fn () => getAverageColorFromImageUrl('https://wsrv.nl/?url=' . $champion->getChampionImageAttribute(true)) ); $champion->splash_color = $splashColor; return view('champions.show', ['champion' => $champion, 'streamers' => $streamers]); } }