Anasayfa SPA linklerinin durumu ve çalışmayan sayfaların analizi
Ne oldu?
Muzibu anasayfasında bazı linkler (Radyolar ve Sektörler) boş sayfa gösteriyor. Tüm SPA linklerini inceledim.
Ana Sorun:
Neden önemli?
Controller (kod) sadece "playlist'i olan" radyo/sektörleri gösteriyor. Hiçbirinin playlist ilişkisi olmadığı için liste boş geliyor.
Dosya: Modules/Muzibu/app/Http/Controllers/Front/RadioController.php
Satır: 13-20
$radios = Radio::with('logoMedia')
->where('is_active', 1)
->whereHas('playlists', function($q) { // ❌ SORUN: Playlist ilişkisi zorunlu
$q->where('is_active', 1)
->whereHas('songs', function($sq) {
$sq->where('is_active', 1);
});
})
->paginate(200);
Sorun: whereHas('playlists') filtresi tüm radyoları eliyor çünkü hiçbir radyonun playlist ilişkisi yok.
Radio::class → playlists() ilişkisi: belongsToMany veya hasMany?Sector::class → playlists() ilişkisi: belongsToMany veya hasMany?radio_playlist veya sector_playlist mevcut mu?href="/"
href="/playlists"
8 öne çıkan playlist gösteriliyor
href="/albums"
8 yeni albüm gösteriliyor (başlıklar restore edildi)
href="/genres"
8 tür gösteriliyor (songs_count > 0 olanlar)
href="/radios"
122 radyo var ama playlist ilişkisi yok → Sayfa boş
href="/sectors"
23 sektör var ama playlist ilişkisi yok → Sayfa boş
href="/dashboard"
href="/muzibu/favorites"
href="/muzibu/my-playlists"
href="/muzibu/corporate-playlists"
/playlists/chill-reggae-acoustic-playlist
/albums/1spanish-lounge-album
Başlık: "Spanish Lounge Album" (restore edildi)
/iletisim
/gizlilik-politikasi
/kullanim-kosullari...
Radyo ve sektör için playlist ilişkileri oluştur.
Adımlar:
playlists() ilişkisini kontrol etradio_playlist, sector_playlistwhereHas('playlists') filtresini kaldır, tüm radyo/sektörleri göster.
Değişiklik:
// ÖNCE (Mevcut - Boş sonuç)
$radios = Radio::where('is_active', 1)
->whereHas('playlists') // ❌ Bu filtre tüm radyoları eliyor
->paginate(200);
// SONRA (Tüm radyolar gösterilir)
$radios = Radio::where('is_active', 1)
->with('logoMedia')
->orderByRaw('LOWER(JSON_UNQUOTE(JSON_EXTRACT(title, "$.tr")))')
->paginate(200);
⚠️ Not: Bu durumda bazı radyoların playlist'i olmayabilir, detay sayfasında "Henüz şarkı yok" mesajı göster.
Radyo/Sektörleri "playlist container" değil, "genre/mood" gibi kullan.
Alternatif Yaklaşım:
Song::whereHas('genres', ...)Playlists, Albums, Genres, User pages
Radios (122 kayıt), Sectors (23 kayıt)
Radio ve Sector'lerin hiçbirinde yok