Model::find(1)->with('firstModel','SecondModel');
non è davvero fare qualsiasi cosa, come with
è un nuovo Generatore ora non correlato al modello restituito da find(1)
.
Model::with(....)->find(1);
Sarebbe desideroso caricare le relazioni.
Model::find(1)->load(...);
È un caricamento pigro. Sta caricando le relazioni con un'istanza di modello esistente che hai già recuperato. (poiché find(1)
restituisce un'istanza Modello e load
glielo dice e quindi carica le relazioni specificate) load
può essere utilizzato anche su Raccolte per caricare le relazioni su tutte le istanze del Modello contenute. load
è più utile quando si ha a che fare con un insieme di Modelli rispetto a uno solo come se si stesse usando la proprietà dinamica (caricamento lento, se non già caricato) per una relazione su un Modello causerebbe l'esecuzione delle stesse query. Su un set rimuove qualsiasi problema N + 1 mentre scorre su di essi.
È possibile controllare questo articolo per ulteriori informazioni su questo.
asklagbox - blog - Eloquent Querying Relations
La tua domanda ha risposto al post http://stackoverflow.com/questions/26005994/laravel-with-method-versus-load-method –