0
我有以下情况:Laravel - 用模型中的hasMany计数选项
我有一些问题,此问题有可能的答案。我想指出每个问题每次回答多少次。
为此,我有3个表:
- 问题
- 解答
- Answers_questions
在Answers_questions我有这样的关系:
public function question(){
return $this->belongsTo('App\Question', question_id, 'id');
}
和
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');
而在对每个问题的看法后,只显示第一个答案与计数。
如何解决?
谢谢!
我想这一点,但仍然只算第一个答案。 –
你可以尝试执行count方法: $ questions = $ answers_questions-> groupBy('question_id') - > get() - > count(); –
谢谢维尼修斯。我会试试看,然后回来告诉它是否有效。 –