where('nicht_in_orientierung', 0) ->get(); foreach ($_raumorientierung as $raumorientierung) { $_raumalles = Raumalles::where('raumorientierung_id', $raumorientierung->id) ->where('projekts_id', $projekts_id) ->whereIn('methodes_id', [3, 4, 5, 6, 7, 9]) ->get(); foreach ($_raumalles as $raumalle) { $nutzwert_ungerundet = $raumalle->qm * $raumalle->factor; switch ($raumalle->methodes_id) { case '9': Raumalles::where('id', $raumalle->id) ->where('methodes_id', 9) ->update(['nutzwert_ungerundet' => $nutzwert_ungerundet]); break; case '3': $nutzwert_gerundet = round($raumalle->qm * $raumalle->factor * $raumorientierung->factor); Raumalles::where('id', $raumalle->id) ->where('methodes_id', 3) ->update(['nutzwert_gerundet' => $nutzwert_ungerundet]); break; default: $nutzwert_gerundet = round($raumalle->qm * $raumalle->factor); Raumalles::where('id', $raumalle->id) ->where('methodes_id', $raumalle->methodes_id) ->update(['nutzwert_gerundet' => $nutzwert_gerundet]); break; } Raumorientierung::where('id', $raumorientierung->id) ->where('nutzwert_summe', 0) ->update(['nutzwert_summe' => 1]); $t1 = Raumalles::select('nutzwert_gerundet') ->where('raumorientierung_id', $raumorientierung->id) ->whereIn('methodes_id', [5, 6]) ->get() ->sum('nutzwert_gerundet'); $t2 = Raumalles::select('nutzwert_ungerundet') ->where('raumorientierung_id', $raumorientierung->id) ->where('methodes_id', 9) ->get() ->sum('nutzwert_ungerundet'); $nutzwert_summe = round($t1 + $t2); Raumorientierung::where('id', $raumorientierung->id) ->update(['nutzwert_summe' => $nutzwert_summe]); } } // METHODEN 1, 2, 2b , 3, 3b, 4 $_raumorientierung = Raumorientierung::where('projekts_id', $projekts_id) ->where('nicht_in_orientierung', 0) ->get(); foreach ($_raumorientierung as $raumorientierung) { // METHODE 1 $qm_m1 = Raumalles::select('qm') ->where('projekts_id', $projekts_id) ->where('raumorientierung_id', $raumorientierung->id) ->where('methodes_id', 1) ->get() ->sum('qm'); if ($qm_m1) { Raumorientierung::where('id', $raumorientierung->id) ->where('projekts_id', $projekts_id) ->update(['qm_m1' => $qm_m1]); } // METHODE 1 & METHODE 2 $nw_m2 = Raumalles::select(DB::raw('sum(qm * factor) as total')) ->where('projekts_id', $projekts_id) ->where('raumorientierung_id', $raumorientierung->id) ->where('methodes_id', 2) ->get() ->sum('total'); $nw_m8 = Raumalles::select(DB::raw('sum(qm * factor) as total')) ->where('projekts_id', $projekts_id) ->where('raumorientierung_id', $raumorientierung->id) ->where('methodes_id', 8) ->get() ->sum('total'); $nw_m1_m2 = round((($qm_m1 + $nw_m2) * $raumorientierung->factor) + $nw_m8); $nw_m3_m4 = Raumalles::select('nutzwert_gerundet') ->where('projekts_id', $projekts_id) ->where('raumorientierung_id', $raumorientierung->id) ->whereIn('methodes_id', [3, 4, 7]) ->get() ->sum('nutzwert_gerundet'); $nutzwert_summe = $nw_m1_m2 + $nw_m3_m4; Raumorientierung::where('id', $raumorientierung->id) ->update(['nutzwert_summe' => $nutzwert_summe]); } } }