Laravel maakt de communicatie met de database een stuk eenvoudiger met Eloquent. Wanneer u met Welsprekende relaties werkt en dynamische variabelen aanroept (met behulp van de magische methoden van PHP), moet u zich ervan bewust zijn dat de instanties van de modellen geen nieuwe wijzigingen weerspiegelen, maar permanent worden opgeslagen wanneer ze voor het eerst worden aangeroepen.
In het volgende voorbeeld gedraagt het zich zoals verwacht:
6d32588c32f080ef1896633f261e1e14
$ model-> col retourneert altijd de oude waarde, zelfs na de wijziging (omdat de waarde aanvankelijk eenmaal werd opgehaald met Model :: find (42) en vervolgens werd opgeslagen). Als je nu een andere, verbonden tabel aanspreekt met $ model-> afhankelijk_tabel , zou je kunnen verwachten dat de tweede aanroep de nieuwe waarde zou teruggeven:
6d32588c32f080ef1896633f261e1e14
Dit is ook niet het geval ( $ afhankelijk_table = $ model-> dependant_table caches de volledige afhankelijke tabel). Om een huidige waarde te krijgen, wordt de expliciet gedefinieerde functie dependant_table () aangeroepen:
6d32588c32f080ef1896633f261e1e14