checksIfTransactionBillNumberExists = $checksIfTransactionBillNumberExists; } /** * @param Company $company */ public function execute(Company $company) { $transferFeeTransactions = $company->issuerTransactions()->where('transactions.type', TransactionType::TRANSFER_FEE)->whereIn('transactions.status', [ApprovalStatus::APPROVED])->orderBy('id', 'DESC')->get(); $creditNoteTransactions = []; foreach($transferFeeTransactions as $transferFeeTransaction){ $creditNoteTransactions[] = $transferFeeTransaction->creditNoteTransaction; } $creditNoteTransactions = new Collection($creditNoteTransactions); return [ 'company' => new CompanyResource($company), 'transferFeeTransactions' => $transferFeeTransactions, 'creditNoteTransactions' => $creditNoteTransactions, 'account_balance' => $transferFeeTransactions->sum('amount') - $creditNoteTransactions->sum('amount'), ]; } }