Php 在Laravel的同一视图上显示有关多个表的信息

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

我想展示一个问题列表和他各自的答案。我将所有内容存储在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
@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]

这样你就可以在一个问题下给出答案。相应地修改您的查询。

您会得到两个相同的问题,因为这样的问题有两个答案。尝试实施此解决方案:您是否考虑过使用
雄辩的