Merhaba arkadaşlar laravel' e yeni başladım bir sorunum var aslında 2 sorun şimdi anlatacagım sistemi ben query builder ile bir şekilde yaptım ama içime kurt düştü dogrumu yaptım diye :). Kendi kendime laravel'i bilen birisi bunu nasıl yapardı diye sordum ve şuan buraya konu açıyorum

olay şu
4 adet tablom var bunlar kategoriler,kitaplar,yazarlar ve kullanilan_kitaplar, Yapmak istediğim tam olarak şu kullanilan_kitaplar tablosuna göre kitaplarımı listeliyeceğim ve listelediğimde gelen veriler ile birlikte kitap'ın kategorisini ve yazarını da almam gerekiyor eloquent orm ile yapmaya calıstıgımda bunu başaramadım bunu nasıl yapabilirim siz nasıl yapardınız ?
Tablolarım
kullanilan_kitaplar
kullanilan_kitap
kullanilan_adet
kullanilan_kutuphane
kitaplar
kitap_baslik
kitap_yazar
kitap_kategori
Query builder ile yaptıgım kodlar.
return DB::table('kullanilan_kitaplar')
->join('kitaplar','kullanilan_kitaplar.kullanilan_kitap','=','kitaplar.id')
->join('yazarlar','kitaplar.kitap_yazar','=','yazarlar.id')
->join('kategoriler','kitaplar.kitap_kategori','=','kategoriler.id')
->where('kullanilan_kitaplar.kullanilan_kutuphane','=',Auth::user()->kullanici_kutuphane)
->select(['kullanilan_kitaplar.kullanilan_adet','kitaplar.kitap_baslik','kitaplar.kitap_sef','kitaplar.kitap_konu','kitaplar.kitap_puan','kitaplar.kitap_resim','yazarlar.yazar_isim','yazarlar.yazar_sef','kategoriler.kat_baslik','kategoriler.kat_sef'])
->groupBy('kitaplar.id')->get();
Diğer sorunum ise kategoriler ile ilgili buda şöyle kategorilerimi listelerken en az bir kez kullanılmış olan kategorilerin listelenmesini istiyorum ve yine bunlarıda kullanilan kitaplar tabloma göre yapmam gerekiyor bunu da query builder ile yaptım orm ile başaramadım :(.
Query builder kodları
return DB::table('kategoriler')->
join('kitaplar','kitaplar.kitap_kategori','=','kategoriler.id')->
join('kullanilan_kitaplar','kullanilan_kitaplar.kullanilan_kitap','=','kitaplar.id')->
select(DB::raw('COUNT(kitaplar.id) as sayi'),'kategoriler.*')->orderBy('kat_alt','asc')->groupBy('kat_baslik');