report->categories as $accountCategoryName => $accountCategory) { $categories[] = [ 'header' => ['', $accountCategoryName, '', ''], 'data' => array_map(static function (AccountDTO $account) { return [ $account->accountCode, $account->accountName, $account->balance->debitBalance, $account->balance->creditBalance, ]; }, $accountCategory->accounts), 'summary' => [ '', 'Total ' . $accountCategoryName, $accountCategory->summary->debitBalance, $accountCategory->summary->creditBalance, ], ]; } return $categories; } public function getOverallTotals(): array { return [ '', 'Total for all accounts', $this->report->overallTotal->debitBalance, $this->report->overallTotal->creditBalance, ]; } }