mirror of
https://github.com/firefly-iii/firefly-iii.git
synced 2025-10-12 15:35:15 +00:00
Add custom method.
This commit is contained in:
@@ -641,4 +641,34 @@ class AccountRepository implements AccountRepositoryInterface, UserGroupInterfac
|
||||
|
||||
return $factory->create($data);
|
||||
}
|
||||
|
||||
#[\Override] public function periodCollection(Account $account, Carbon $start, Carbon $end): array
|
||||
{
|
||||
return $account->transactions()
|
||||
->leftJoin('transaction_journals','transaction_journals.id','=','transactions.transaction_journal_id')
|
||||
->leftJoin('transaction_types','transaction_types.id','=','transaction_journals.transaction_type_id')
|
||||
->leftJoin('transaction_currencies','transaction_currencies.id','=','transactions.transaction_currency_id')
|
||||
->leftJoin('transaction_currencies as foreign_currencies','foreign_currencies.id','=','transactions.foreign_currency_id')
|
||||
->where('transaction_journals.date','>=',$start)
|
||||
->where('transaction_journals.date','<=',$end)
|
||||
->get([
|
||||
// currencies
|
||||
'transaction_currencies.id as currency_id',
|
||||
'transaction_currencies.code as currency_code',
|
||||
'transaction_currencies.name as currency_name',
|
||||
'transaction_currencies.symbol as currency_symbol',
|
||||
'transaction_currencies.decimal_places as currency_decimal_places',
|
||||
|
||||
// foreign
|
||||
'foreign_currencies.id as foreign_currency_id',
|
||||
'foreign_currencies.code as foreign_currency_code',
|
||||
'foreign_currencies.name as foreign_currency_name',
|
||||
'foreign_currencies.symbol as foreign_currency_symbol',
|
||||
'foreign_currencies.decimal_places as foreign_decimal_places',
|
||||
|
||||
// fields
|
||||
'transaction_journals.date', 'transaction_types.type', 'transaction_journals.transaction_currency_id', 'transactions.amount'])
|
||||
->toArray();
|
||||
|
||||
}
|
||||
}
|
||||
|
@@ -71,6 +71,8 @@ interface AccountRepositoryInterface
|
||||
|
||||
public function findByName(string $name, array $types): ?Account;
|
||||
|
||||
public function periodCollection(Account $account, Carbon $start, Carbon $end): array;
|
||||
|
||||
public function getAccountBalances(Account $account): Collection;
|
||||
|
||||
public function getAccountCurrency(Account $account): ?TransactionCurrency;
|
||||
|
Reference in New Issue
Block a user