2017-03-01 38 views
0

想知道其他人如何實現以下目標嗎?獲取模型where relationship = id

表:

teams 
teams_users (pivot many teams, many users) 
users 

什麼,我試圖實現

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

但是我有運行一個循環,並在團隊模型創建另一個方法採摘(ID,姓名)

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

你知道更好的方法嗎?

回答

2

如果您嘗試讓所有團隊都使用特定的用戶ID。嘗試

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

或者通過用戶

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

這是假設你已經定義每個模型的belongsToMany()關係。