Ivrige last relasjoner på morphed modeller

stemmer
1

Si Jeg har en modell som forvandles et antall forskjellige modeller (ved hjelp morphTo). Jeg prøver å oppnå at når en modell blir forvandlet, alle (eller noen) relasjoner på at morphed modellen er ivrige lastet også.

Eksempel koden her: http://laravel.io/bin/yLyz7

Når jeg vil kalle:

Index::with('item')->get();

Det vil til slutt resultere i en spørring som så for morph:

SELECT * FROM sample_items WHERE id IN (?, ?, ?)

Dette er akkurat hva jeg vil, men jeg ønsker også å ivrige belastning eventuelle relasjoner på SampleItem modeller, slik at i stedet for å spørre om forholdet for hver SampleItem hver gang, det ville også lage en spørring som dette. Forutsatt SampleItem har en bruker forhold.

SELECT * FROM users WHERE id IN (?, ?, ?)

Er det noen måte å oppnå dette? Fordi jeg ikke kalle SampleItem modellen selv, kan jeg ikke oppgi noen ivrige lastet relasjoner. Jeg antar at jeg må oppgi dette i forhold på Index, men jeg kan ikke finne ut hvordan. Jeg er ikke sikker på at dette er enda mulig i dag.

Publisert på 11/10/2014 klokken 13:03
kilden bruker
På andre språk...                            


1 svar

stemmer
0

Viser seg å være lettere enn jeg trodde. Virker som spesifiserer "med" eiendom på SampleItem modellen tar seg av dette:

/**
 * The relations to eager load on every query.
 *
 * @var array
 */
protected $with = ['user'];
Svarte 11/10/2014 kl. 13:28
kilden bruker

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more