2017-07-20 3 views
1

Ich frage mich nur, warum mein Code nicht funktioniert, ich meine, nachdem ich einzelne Daten mit eifrigen Laden sammeln, danach, wenn ich die verschachtelte Beziehung sammeln, kehrt es zurück ein Fehler. Bitte beachten Sie meinen Code unten.
Wie sammle ich Daten mit mehreren eifrigen Laden in Laravel 5

Fehler

Der Versuch, Eigentum von Nicht-Objekt zu erhalten

My-Code

Controller.php

$ex = Exam::with('answers', 'child.answers')->find($id); 
$exam = collect($ex->answers); 
$exams = $exam->merge(collect($ex->child->answers)); 

return view('school.exam.view', compact('exams')); 



view.blade.php

@foreach($exams as $exam) 
    <li>{{ $exam->name }}</li> 
@endforeach 




Was soll ich damit?

Antwort

0

Da diese Linie hier

$ Prüfung = sammeln ($ Bei-> Antworten);

Vielleicht wollte man diese

Quiz = sammeln $ ($ Bei-> Antworten);

EDIT:

Es ist, weil $exam->child eine Sammlung ist. Sie müssen jedes Kind durchlaufen und die Antworten erhalten. Sie sollten die Beziehung auch in childs zur besseren Übersicht benannt haben.

$ex = Exam::with('answers', 'childs.answers')->find($id); 
$exam = collect($ex->answers); 
foreach(collect($ex->childs) as $child) { 
    $exams = $exam->merge(collect($child->answers)); 
} 

return view('school.exam.view', compact('exams')); 
+0

Ich habe es bearbeitet. Bitte schau es dir nochmal an. Entschuldigung für den Tippfehler – Jonjie

+0

Was ist die Beziehung von Prüfung und Kind? ist es 1: M? – the91end

+0

es gehört zu vielen – Jonjie

Verwandte Themen