2016-08-24 1 views
0

Ist es möglich, eine viele-zu-viele-Beziehung zwischen in diesem Fall Ereignisse und Benutzer mit einer Pivot-Tabelle von event_user zu erweitern:Laravel 5.2 Wie faul Last eine Beziehung auf eine many-to-many-Beziehungen führt

// EVENT MODEL 

public function invites() 
{ 
    return $this->belongsToMany('App\User', 'event_user') 
       ->withPivot('attendance'); 
} 

// USER MODEL 

public function invites() 
{ 
    return $this->belongsToMany('App\Event', 'event_user') 
       ->withPivot('attendance'); 
} 

Dass die Benutzerergebnisse auch ihr Profil enthalten? So zum Beispiel mit:

// USER MODEL 

public function profile() 
{ 
    return $this->hasOne('App\UserProfile'); 
} 

Und so etwas wie:

$event->invites()->with('profile')->get(); 

Derzeit jetzt $event->invites; enthält eine Liste aller Benutzer, aber ohne ihre zugehörigen Profile. Der einzige Weg, den ich sehen kann, ist, die Benutzer anhand einer Liste von IDs, die ich aus der Ergebnissammlung extrahieren würde, erneut abzufragen, scheint aber einfacher zu sein, aber das lazy loading von user.profile oder profile besagt, dass Methode oder Wert ist nicht definiert.

Antwort

1

Sie verschachtelt Sie können eager loading verweisen diese link

$event->with('invites.profile')->get(); 
Verwandte Themen