Merhabalar. Veri çekerken eğer direkt olarak model üzerinden şu şekilde etkileşim kurarsam;
Contact::where('company_id', auth()->user()->company_id)->get()
şöyle sorgu gidiyor:
select
*
from
"contacts"
where
"company_id" = 'xxx'
ama direkt relationlar üstünden şu şekilde veri çekersem;
auth()->user()->company->contacts
şöyle sorgu gidiyor ve daha uzun süre alıyor;
select
*
from
"contacts"
where
"contacts"."company_id" = 'xxx'
and "contacts"."company_id" is not null
yani ek olarak and "contacts"."company_id" is not null kısmını ekliyor ve performansı kötü etkiliyor, işime yarar bir şey de değil. Bunu engellemek için ne yapmam gerekir? Hiçbir yerde relation kullanmadan Modeller üzerinden sorgu yapmak da pek mantıklı ve temiz gelmiyor.