Ich versuche, eine Liste der Frage und seine jeweiligen Antworten zu zeigen. Ich speichere alles auf 3 verschiedenen Datenbanktabellen, Fragen> Art der Antwort> Liste der möglichen Antworten.Zeigen Sie Informationen über mehrere Tabellen auf der gleichen Ansicht auf Laravel
Dies ist, was ich auf dem Controller getan haben: alle
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]);
}
Nach der Ansicht, die Fragen, die ich eine foreach Iteration verwenden zeigen: Ich
@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
Auf der Datenbank für das Testen nur habe eine Frage und die möglichen Antworten sind Ja oder Nein. Aber anstatt eine Frage und zwei mögliche Antworten zu sehen, bekomme ich dieselbe Frage zweimal und jedes Mal eine andere Antwort.
Sie erhalten die gleiche Frage zweimal, weil eine solche Frage 2 Antworten hat. Versuchen Sie, diese Lösung zu implementieren: http://stackoverflow.com/questions/21387696/how-to-concatenate-strings-from-multiple-rows-in-one-column-inner-join-in-one – Ditto
Haben Sie überlegt zu verwenden "Beredt"? –