/** * @param Account $account * * @return TransactionJournal|null */ public function openingBalanceTransaction(Account $account) { return TransactionJournal::orderBy('transaction_journals.date', 'ASC')->accountIs($account)->transactionTypes(['Opening balance'])->orderBy('created_at', 'ASC')->first(['transaction_journals.*']); }
/** * @param Account $account * * @return TransactionJournal|null */ public function openingBalanceTransaction(Account $account) { $journal = TransactionJournal::orderBy('transaction_journals.date', 'ASC')->leftJoin('transactions', 'transactions.transaction_journal_id', '=', 'transaction_journals.id')->where('transactions.account_id', $account->id)->transactionTypes([TransactionType::OPENING_BALANCE])->orderBy('created_at', 'ASC')->first(['transaction_journals.*']); return $journal; }
/** * @param Account $account * * @return TransactionJournal|null */ public function openingBalanceTransaction(Account $account) { $cache = new CacheProperties(); $cache->addProperty($account->id); $cache->addProperty('opening-balance-journal'); if ($cache->has()) { return $cache->get(); // @codeCoverageIgnore } $journal = TransactionJournal::orderBy('transaction_journals.date', 'ASC')->accountIs($account)->transactionTypes([TransactionType::OPENING_BALANCE])->orderBy('created_at', 'ASC')->first(['transaction_journals.*']); $cache->store($journal); return $journal; }
/** * @param Account $account * * @return TransactionJournal|null */ public function openingBalanceTransaction(Account $account) { $journal = TransactionJournal::orderBy('transaction_journals.date', 'ASC')->accountIs($account)->transactionTypes([TransactionType::OPENING_BALANCE])->orderBy('created_at', 'ASC')->first(['transaction_journals.*']); return $journal; }