2016-06-18 12 views
0

みんなに私はLaravelに新たなんだと私は特定の質問に答えるユーザーの名前を検索しようとしているが:雄弁クエリ - 1対多の関係

$users = User::with('answers')->where('question_id', $request->question_id)->get(); 

私はこれを試してみたが、それはdoesnのそれは、彼が答えからではなくユーザからquestion_idを見つけようとしているようです。

$answers = Answer::with('user')->where('question_id', $request->question_id)->get(); 
+0

もう少し詳細が必要です。ユーザーと質問の関係は何ですか?あなたは確かに私のようにテーブルの質問から選択する必要があります。 – Vucko

+0

あなたがEloquentに慣れていれば、その関係はユーザーには多くの回答があり、回答はユーザーに属しています – TheChosenOne

答えて

0

は、これは、あなたが必要なものかもしれないを求めたが、何ではありません。

$users = User::with(['answers' => function ($query) use ($request) { 
    $query->where('question_id', $request->question_id) 
}])->get(); 
1

これは、何が必要Constraining Eager Loadsです:

回答モデル

Class Answer extends Model{ 
    public function users() 
    { 
     return $this->belongsTo(User::class); 
    } 
} 
    User Model 
Class User extends Authenticatable{ 
public function answers() 
    { 
     return $this->hasMany(Answer::class); 
    } 
}