2017-02-09 6 views
0

私はこのようになりますモデル持っているそうでLaravel雄弁イーガーローディング混乱Laravelで

$recipients = Recipient::with('location') 
          ->with('teams') 
          ->where('company_id',Auth::user()->company_id) 
          ->where('teams.id', 10) 
          ->get(); 

を、私はというエラーを取得しますlaravelは親受信者テーブルのみを照会しているので、teams.idを見つけることができません。私が間違ってやっていることが分かりました、私はwithメソッドが熱心なロード/内部結合レコードにあると思いましたか? DB:inner joinを代わりに使用する必要がありますか?または私は何かを逃している?

Recipient::with('location') 
    ->where('company_id', auth()->user()->company_id) 
    ->whereHas('teams', function($q){ 
     return $q->where('id', 10); 
    }) 
    ->get(); 

答えて

1

は、このためにwhereHasメソッドを使用します。選択されていない場合、関係が表示されないことがあります。それ以外のIDを含めると動作しません

0

が明示されて試してみて、select文を追加します。