Overview
Heimerdinger.lol’s champion feature allows users to:- Browse all available League of Legends champions
- Sort champions by name alphabetically
- View champion roles and lane assignments
- Access detailed champion pages with abilities, skins, and streamer recommendations
- Fast loading with intelligent caching (8-hour cache)
Routes
The champion feature uses two main routes defined inroutes/web.php:44-45:
Champion List Page
TheChampionController::index() method (source/app/Http/Controllers/ChampionController.php:14-23) displays all champions:
Key Features
Performance
Results are cached for 8 hours to ensure fast page loads
Sorting
Champions are alphabetically sorted by name
Role Data
Includes champion role/lane information for filtering
Route Model Binding
Uses Laravel’s route model binding for clean URLs
Champion Detail Page
TheChampionController::show() method (source/app/Http/Controllers/ChampionController.php:28-37) displays individual champion details:
Eager Loading
The champion detail page uses eager loading to optimize database queries:Loaded Relationships
Loaded Relationships
- streamers - Twitch streamers who play this champion
- skins - All skins available for this champion
- lanes - Recommended lanes/roles for this champion
Cache Strategy
Champion detail pages are cached for 3 days (72 hours) with a unique cache key per champion slug.
Champion Model
Champions are represented by theChampion model located at source/app/Models/Champion.php. The model includes:
Database Properties
- id - Primary key (integer)
- champion_id - Riot Games API champion ID
- name - Champion display name (e.g., “Ahri”, “Yasuo”)
- title - Champion title (e.g., “The Nine-Tailed Fox”)
- slug - URL-friendly identifier
- icon - Champion portrait icon URL
- resource - Resource type (Mana, Energy, etc.)
- adaptive_type - Damage type (Physical/Magic)
- attack_type - Melee or Ranged
Relationships
Champion Images
The Champion model provides several image accessors for different display contexts:- Square Icon
- Loading Screen
- Splash Art
- Abilities
Data Source
Champion data is fetched from:- Boris API (primary) - Internal API service
- Meraki Analytics (fallback) - Community-maintained champion data
Related Features
Skins
Browse champion skins and chromas
Assets
Explore summoner icons and emotes
Champion Model
View the full Champion model API reference
Controller API
See the ChampionController documentation