2017-03-01 3 views
0

Würde gerne wissen, wie andere Leute das Folgende erreichen?Get Model wo Beziehung = ID

Tables:

teams 
teams_users (pivot many teams, many users) 
users 

Was ich

$teams->user->where('user_id', $id)->get(); 

aber ich eine Schleife zu laufen habe, und erstellen Sie eine andere Methode für das Team-Modell zu erreichen versuchen zu zupfen (id, name)

// foreach ($teams as $team) { 
//  # code... 
//  dump($team->getUserIdsAttribute()); 
// } 

Kennen Sie einen besseren Weg?

Antwort

2

Wenn Sie versuchen, alle Teams mit einer bestimmten Benutzer-ID zu erhalten. Versuchen

$teams = Team::with(['users' => function ($query) use ($id) { 
    $query->where('id', '=', $id); 
}])->get(); 

Oder durch den Benutzer

$user = User::with('teams')->find($id); 

Dies ist bereits unter der Annahme in jedem Modell die belongsToMany() Beziehung definiert.