Laravel: Lucrul cu relații elocvente

Laravel face comunicarea cu baza de date mult mai ușoară cu Eloquent. Când lucrați cu relații elocvente , când apelați variabile dinamice (cu ajutorul metodelor magice ale PHP), ar trebui să fiți conștienți de faptul că instanțele modelelor nu reflectă modificări noi, dar sunt stocate permanent când sunt apelate pentru prima dată.


În exemplul următor se comportă conform așteptărilor:

6d32588c32f080ef1896633f261e1e14

$ model-> col returnează întotdeauna valoarea veche chiar și după modificare (deoarece valoarea a fost inițial preluată o dată cu Model :: find (42) și apoi salvată). Dacă vă adresați acum unui alt tabel conectat cu $ model-> dependent_table , vă puteți aștepta ca al doilea apel să returneze noua valoare:

6d32588c32f080ef1896633f261e1e14

De asemenea, nu este cazul ( $ dependent_table = $ model-> dependant_table cache întreaga tabelă dependentă). Pentru a obține o valoare curentă, funcția definită în mod explicit dependant_table () este numită:

6d32588c32f080ef1896633f261e1e14

Înapoi