where('projekte_id', $projekte_id) ->orderBy('nicht_in_orientierung') ->orderBy('top_nummer') ->get(); $html = ''; foreach ($objekte as $objekt) { $html .= Html::table_header(['Top Nr.', 'Geschoß', 'Orientierung', 'Typ', 'Objekt', 'Fläche', '', '', '', '', '', '', 'Nutzwert']); $elemente = ProjektObjekteImDetail::where('projekt_objekte_id', $objekt->id) ->with('methode') ->get(); dd($elemente); $tmp = []; foreach ($elemente as $key => $element) { dd($element); $t = []; $t['top_nummer'] = $objekt->top_nummer; $objekt->top_nummer = ''; $t['geschoss'] = (! $key || $element->methode->methode_id != 1) ? $element['geschoss'] : ''; $t['raumart'] = $element['raumart']; $t['faktor'] = $element['faktor']; $t['flaeche'] = $element['flaeche']; $t['nutzwert'] = $element['nutzwert']; $t['methode_id'] = $element['methode']['methode_id']; $t['faktor_methode'] = $element['methode']['faktor']; $t['orientierung'] = $key == 0 && isset($objekt['orientierung']['name']) ? $objekt['orientierung']['name'] : ''; $tmp[] = $t; } $order = array_column($tmp, 'methode_id'); array_multisort($tmp, SORT_NUMERIC, SORT_ASC, $order); foreach ($tmp as $element) { $html .= ''; // TOP NUMMER $html .= Html::td($element['top_nummer'], 'bl bb'); // GESCHOSS $html .= Html::td($element['geschoss'], 'bl bb'); // ORIENTIERUNG $html .= Html::td($element['orientierung'], 'bl bb'); $html .= ''; } $html .= ''; } return $html; } }