Php 在Laravel的同一视图上显示有关多个表的信息
我想展示一个问题列表和他各自的答案。我将所有内容存储在3个不同的数据库表中,即问题>答案类型>可能答案列表 这是我在控制器上所做的:Php 在Laravel的同一视图上显示有关多个表的信息,php,database,laravel,Php,Database,Laravel,我想展示一个问题列表和他各自的答案。我将所有内容存储在3个不同的数据库表中,即问题>答案类型>可能答案列表 这是我在控制器上所做的: public function show() { $questions = DB::table('questions') ->join('typeAnswers', 'typeAnswers.id', '=', 'questions.answer_id') ->join('answers', 'answers.t
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
@extends('welcome'))
@节(“内容”)
@foreach($问题作为$问题)
{{$question->statement}
{{$question->value}
@endforeach
@端部
在测试数据库中,我只有一个问题,可能的答案是“是”或“否”。但我没有看到一个问题和两个可能的答案,而是看到同一个问题两次,每次都得到一个不同的答案。检查此查询:
$questions = DB::table('questions')
->join('typeAnswers', 'typeAnswers.id', '=', 'questions.answer_id')
->join('answers', 'answers.typeAnswers_id', '=', 'typeAnswers.id')
->get();
您正在将问题
表加入类型答案
,因此这里的结果如下:
Q1 A1
Q1 A2
在视图中,所需的结果如下所示:
Q1 [A1, A2]
这样你就可以在一个问题下给出答案。相应地修改您的查询。您会得到两个相同的问题,因为这样的问题有两个答案。尝试实施此解决方案:您是否考虑过使用
雄辩的?