Problem
har
, med
og HVORHAS
kan noen ganger være forvirrende for nybegynnerutviklere. La oss gi noe perspektiv på hva hver av disse betyr
Løsning
med()
brukes vanligvis med ivrig belastning, noe som er en rask måte å trekke relaterte modeller. I utgangspunktet betyr det at Laravel sammen med hovedmodellen vil forhåndsliste det listede forholdet (e). Dette er gunstig når du trenger å laste inn tilleggsdata og ønsker å unngå å lage N+1
DB dårlig praksis. Med ivrig lasting kjører du bare en ekstra DB -spørring i stedet for potensielt hundrevis av ekstra spørsmål.
Eksempel:
Bruker> Hasmany> OrganisasjonHar
har ()
brukes til å filtrere den valgte modellen basert på det valgte forholdet. Det er i utgangspunktet en hvor metode for relasjoner. Hvis du bare bruker har ('organisasjon')
, Ved å bruke det samme eksemplet med brukere og organisasjoner, vil det bety at det vil trekke alle brukerne som har minst en organisasjon i sin 'portefølje'.
Eksempel:
Bruker> Hasmany> OrganisasjonHVORHAS
HVEHAS ()
er nesten det samme som har ()
. Det lar deg bare spesifisere flere filtre for at den relaterte modellen skal sjekkes.
Eksempel:
Bruker> Hasmany> Organisasjon