我试图显示问题列表及其各自的答案。我将所有内容存储在3个不同的数据库表中,问题>答案类型>可能的答案列表。
这就是我在控制器上所做的:
public function show()
{
$questions = DB::table('questions')
->join('typeAnswers', 'typeAnswers.id', '=', 'questions.answer_id')
->join('answers', 'answers.typeAnswers_id', '=', 'typeAnswers.id')
->get();
return view('questions.showquestions', ['questions' => $questions]);
}
在视图中,我使用foreach迭代来显示所有问题:
@extends('welcome')
@section('content')
@foreach($questions as $question)
<div class="panel panel-default">
<div class="panel-heading">
<h3 class="panel-title">{{$question->statement}}</h3>
</div>
<div class="panel-body">
{{$question->value}}
</div>
</div>
@endforeach
@endsection
在测试数据库上我只有一个问题,可能的答案是“是”或“否”。但是,我没有看到一个问题和两个可能的答案,而是两次得到相同的问题,每次都有一个不同的答案。< / p>
答案 0 :(得分:0)
检查此查询:
Button
您正在使用$questions = DB::table('questions')
->join('typeAnswers', 'typeAnswers.id', '=', 'questions.answer_id')
->join('answers', 'answers.typeAnswers_id', '=', 'typeAnswers.id')
->get();
加入questions
表格,因此结果如下:
typeAnswers
在视图中,所需的结果如下:
Q1 A1
Q1 A2
这样您就可以在一个问题下显示答案。相应地修改您的查询。