LaRavelis laaditud () `meetod on spetsiaalselt loodud töötama kõnekate mudelisuhetega. See hõlmab tinglikult suhteandmeid API ressursside vastustes ainult siis, kui suhe on kõnekale mudelile innukalt laaditud. See meetod aitab vältida tarbetuid andmebaasipäringuid ja hoiab API vastuseid kõhnaks, lisades ainult seotud andmed, kui need on tegelikult laaditud.
Kasutamise kontekst "Kui laaditud ()"
- kõnekad mudelid ja suhted: "Kui laaditud ()" kontrollib, kas kõneka mudeli seos on laaditud, kasutades selliseid meetodeid nagu "koos ()` või "koormaga ()". Kui suhe on laaditud, tagastab see seotud andmed; Vastasel juhul ei tagasta see midagi ega vaikeväärtust. See käitumine on tihedalt seotud Eloquenti sisemise meetodiga `suhtega ()`, mis määrab, kas suhteandmed on mudeli eksemplaris saadaval [1] [7] [8].
- API ressursid: seda kasutatakse tavaliselt Laraveli API ressursside klassides tinglikult seotud ressursside või kollektsioonide lisamiseks vastavalt sellele, kas suhted olid innukad, parandades jõudlust ja vältides N+1 päringuprobleemi [1] [8].
Kas saab `millal laaditud ()` kasutada koos kolmandate osapoolte raamatukogudega?
- Otsene tugi väljaspool kõnekaid mudeleid: Kuna "kui laaditud ()" tugineb kõneka mudeli sisemisele olekule, et kontrollida, kas suhe on laaditud ("suhteline ()" meetod), on see olemuselt mõeldud kõnekatele mudelitele ja nende suhetele. Kolmandate osapoolte raamatukogud, mis ei laiene ega jäljenda kõnekaid mudeleid, ja nende suhete laadimismehhanismid ei saa otseselt kasutada "kui laaditud ()".
-Lahendused: kui kolmanda osapoole teek tagastab objektid või kollektsioonid, mis ei ole kõnekad mudelid, ei saa te kasutada "Kui laaditud ()" on IS. Peaksite rakendama sarnast tingimuslikku loogikat käsitsi või mähkima need objektid kohandatud ressursi, mis jäljendab käitumist. Teise võimalusena võiksite käsitsi kontrollida, kas seotud andmed on olemas enne vastuse lisamist.
Kokkuvõte
- `Kui laaditud ()` on ehitatud töötama ainult kõnekate mudelite ja nende laaditud suhetega.
- See sõltub kõnekese sisemise suhte laadimise olekust, nii et seda ei saa otse kasutada kolmandate osapoolte raamatukogudega, mis ei kasuta kõnekaid mudeleid.
- Tingimuslikult lisada seotud andmed kolmandate osapoolte allikatest, peate rakendama oma tingimuslikud tšekid või ressursside ümbrised.
See teeb "Kui laaditud ()" võimas tööriist Laraveli API vastuste optimeerimiseks, kuid piirdub kõneka ORM -i kontekstiga [1] [7] [8].
Tsitaadid:
]
]
[3] https://laravel.com/docs/12.x/eloquent-resources
]
[5] https://www.youtube.com/watch?v=LS7M14ECASU
]
[7] https://laraveldaily.com/post/laravel-api-resources-relations-when-methods
[8] https://laravel-news.com/when laaditud