Kullanıcı rastgele bir şarkıya tıkladığında, player queue'sunu doldurmak için tek bir API request'i ile 200 şarkı random olarak çekilir.
Her kullanıcı tıklaması tamamen farklı queue sırası oluşturur - SQL random sayesinde!
// Tüm aktif şarkılardan 200 random seçim
$songs = Song::where('is_active', 1)
->inRandomOrder() // 🎲 SQL: ORDER BY RAND()
->limit(200) // Maksimum 200 şarkı
->get();
// Context bazlı (Genre örneği)
$songs = Song::where('genre_id', $genreId)
->where('is_active', 1)
->when(!empty($excludeIds), fn($q) => $q->whereNotIn('song_id', $excludeIds))
->with(['album.artist'])
->inRandomOrder() // 🎲 Her request farklı sıra
->limit(200)
->get();
Context içindeki tüm şarkıları döndürür (max limit kadar)
Top 100 en çok dinlenen şarkıdan random seçim
En yeni eklenen 50 şarkıdan random + Infinite Loop
İlişkili playlist'lerdeki şarkılardan random seçim
Tek request ile 200 şarkılık queue doldurma başarıyla çalışıyor.
SQL-level inRandomOrder() her tıklamada
tamamen farklı queue sırası oluşturuyor.