我有以下情况:
我有一些问题,这些问题有可能的答案。我想数一下每个问题每个项目回答了多少次。
为此,我有3张表:
- 问题
- 答案
- 回答_问题
在回答问题中,我有这样的关系:
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');
然后在视图中为每个问题显示第一个答案并计数。
如何解决?
谢谢!!!
我想你可以尝试这样做,例如:
public function countAnswers(){
return count($this->hasMany('App'Answers', 'question_id', 'question_id'));
}
在重定向到视图时:
public function redirectToView(){
$answers = countAnswers();
return view('your.view.file' , compact('answers'));
}