0
私は以下のような状況があります:Laravel - モデルでhasManyを使用するオプションをカウントする
私はいくつかの質問があり、この質問には回答があります。私は、各質問ごとに各項目に何回答えられたのかを数えたいと思います。このため
私は3つのテーブルがあります。
public function question(){
return $this->belongsTo('App\Question', question_id, 'id');
}
:
- 質問
- は、私はこの関係を持っているAnswers_questionsで
- Answers_questions
回答しますこの情報を取得するには
と
public function answers(){
return $this->hasMany('App\Answers', 'question_id', 'question_id');
}
は、私がこれを使用コントローラーで:ビューで
$answers_questions = new Answers_questions;
$questions = $answers_questions->groupBy('question_id')->get();
:だから
@foreach($questions as $question)
{{ $question->question }}
@foreach($question->answer as $answer)
Answer: {{ $answer->answer}} - **Count: ???**
@endforeach
@endforeach
を、どのように私はで表示するには、これをカウントすることができます私の見解?私はこれを試しました:
return $this->hasMany('App\Answers', 'question_id', 'question_id')->selectRaw('*, count(answer) as count');
各質問のビューでは、最初の答えがカウントで示されました。
解決方法
ありがとうございました!
私はこれを試してみましたが、それでも最初の答えを数えます。 –
あなたはカウントメソッドを実装しようとすることができます: $ questions = $ answers_questions-> groupBy( 'question_id') - > get() - > count(); –
おかげでVinicius。私はそれを試して、それが働いたかどうかを知るために戻ってきます。 –