where('projekts_id', $projekts_id)->whereIn('methodes_id', [5, 9])->groupBy('raumorientierung_id', 'geschoss')->get(); $geschoss = []; $raumorientierung_ids = []; foreach ($res as $value) { $geschoss[$value->raumorientierung_id][] = $value->geschoss; $raumorientierung_ids[] = $value->raumorientierung_id; } $res = Raumalles::select('raumorientierung_id', 'raum')->where('projekts_id', $projekts_id)->whereIn('methodes_id', [5, 9])->get(); $type = []; foreach ($res as $value) { $type[$value->raumorientierung_id] = $value->raum; } $res = Raumorientierung::where('projekts_id', $projekts_id)->whereIn('id', $raumorientierung_ids)->orderBy('top_nr')->get(); $return = []; foreach ($res as $value) { $tmp = []; $tmp['id'] = $value->id; $tmp['top_nr'] = $value->top_nr; $tmp['type'] = ''; if (isset($type[$value->id])) { $tmp['type'] = $type[$value->id]; } $tmp['nutzwert_summe'] = $value->nutzwert_summe; $tmp['orientierung'] = ''; $tmp['geschoss'] = ''; if (isset($geschoss[$value['id']])) { $tmp['geschoss'] = implode(',', $geschoss[$value->id]); } $return[] = $tmp; } return $return; } }