Eloquent, Laravel'in en çok sevilen katmanı; ama çoğumuz gücünün küçük bir bölümünü kullanıyoruz. Bu yazıda günlük işleri kısaltan, sorguları zarifleştiren birkaç ipucu paylaşıyorum.
İlk durak sorgu kapsamları: published gibi anlamlı scope'lar tanımladığınızda denetleyicileriniz tek satıra iner ve niyet okunur hale gelir. İkinci durak erişimciler: okuma süresi gibi türetilmiş değerleri model üzerinde hesaplamak, aynı mantığı on kez tekrarlamaktan çok daha temiz.
Üçüncüsü isimlendirilmiş bağlamalar: rotada yazıyı slug ile bağlamak, bul ve getir işlemini framework'e devreder; bulunamayan yazı otomatik olarak 404 döner. Dördüncüsü withCount: ilişkili kayıt sayılarını ek sorgu yapmadan, tek sorguda alırsınız.
Beşinci ve en önemlisi: eager loading alışkanlığı. N+1 sorgu problemi geliştirmede fark edilmez; trafiği artan günde birden belirir. Model üzerinde $with tanımı ya da bilinçli with() çağrıları bu tuzağı baştan kapatır. Küçük alışkanlıklar, büyüdükçe büyük farklar yaratır.