query($sql); $results = $query->getResult(); $projects = []; foreach ($results as $result) { if (!isset($projects[$result->projectID])) { $projects[$result->projectID] = [ 'projectnumber' => $result->projectnumber, 'projectname' => $result->projectname, 'costs' => 0, 'reservation' => 0, 'payed' => 0, 'fromreservation' => 0, 'saldo' => 0, 'saldoToPay' => 0, 'other_revenue' => 0, 'customers' => [], 'externals' => [] ]; } $projects[$result->projectID]['reservation'] += $result->reservation; $projects[$result->projectID]['costs'] += $result->costs; $projects[$result->projectID]['payed'] += $result->payed; $projects[$result->projectID]['fromreservation'] += $result->fromreservation; $projects[$result->projectID]['saldo'] += $result->saldo; $projects[$result->projectID]['saldoToPay'] += $result->saldoToPay; $projects[$result->projectID]['other_revenue'] = $result->other_revenue; $projects[$result->projectID]['externals'][] = [ 'external' => $result->contactperson, 'reservation' => $result->reservation, 'costs' => $result->costs, 'payed' => $result->payed, 'saldo' => $result->saldo, 'fromreservation' => $result->fromreservation, 'saldoToPay' => $result->saldoToPay ]; } return $this->json($projects); } }