Laravel: Lavorare con relazioni eloquenti

Laravel rende la comunicazione con il database molto più semplice con Eloquent. Quando si lavora con le relazioni eloquenti , quando si richiamano variabili dinamiche (con l'aiuto dei metodi magici di PHP), è necessario essere consapevoli che le istanze dei modelli non riflettono le nuove modifiche, ma vengono memorizzate in modo permanente quando vengono chiamate per la prima volta.


Nell'esempio seguente si comporta come previsto:

6d32588c32f080ef1896633f261e1e14

$ model-> col restituisce sempre il vecchio valore anche dopo la modifica (perché il valore è stato inizialmente recuperato una volta con Model :: find (42) e quindi salvato). Se ora indirizzi un'altra tabella connessa con $ model-> depend_table , potresti aspettarti che la sua seconda chiamata restituisca il nuovo valore:

6d32588c32f080ef1896633f261e1e14

Anche questo non è il caso ( $ dependant_table = $ model-> dependant_table memorizza nella cache l' intera tabella dipendente). Per ottenere un valore corrente, viene chiamata la funzione dependant_table () definita esplicitamente:

6d32588c32f080ef1896633f261e1e14

Indietro