Ich habe eine rekursive Beziehung (Abschnitte und Unterabschnitte) wie folgt definiert in ReportSection Modell:Laravel Relationship Sammlung Iteration gibt ein boolsches
function sub_sections() {
return $this->hasMany('App\ReportSection', 'parent_id');
}
und ich versuche, durchlaufen wie so:
$section = Section::find($id);
\DB::beginTransaction();
try {
foreach(ReportForm::unlockedForm($section->form_id)->get() as $report) {
foreach($report->sections()->where('section_id', $section->id)->get() as $reportSections) {
\Log::info($reportSections);
foreach($reportSections as $rSection) {
\Log::info($rSection);
foreach($rSection->sub_sections as $subSection) {
die Linie \Log::info($reportSections);
gibt {"id":3,"report_form_id":1,"name_en":"DDD","name_fr":"DDD","created_at":"2016-11-29 07:47:24","updated_at":"2016-11-29 07:47:32","section_id":118,"parent_id":1,"order":99,"hidden":0}
als
aber das Iterieren durch es gibt irgendwie einen boolean \Log::info($rSection);
gibt 1
Die letzte Zeile foreach($rSection->sub_sections as $subSection) {
den Fehler 'Trying to get property of non-object'
Warum sollte Iteration durch eine Beziehung gibt Sammlung einen boolean geben? Was mache ich falsch?
Edit: geändert sub_sections(), um sub_sections aber der Fehler noch vorhanden ist
Ja ich dies erkennen jetzt, und wahrscheinlich wäre es schon erwischt, aber der Fehler passiert, bevor es ankommt, ich habe die Änderungen vornehmen und $ rSection ist immer noch 1. – Ave
Es ist das gleiche hier: '$ report-> sections-> where ('section_id', $ section-> id) -> get()' –
Ich denke, man muss es als Methode bezeichnen, wenn Abfrage – Ave