Some small changes.

This commit is contained in:
James Cole
2016-05-11 07:57:16 +02:00
parent d233a2df3c
commit 934656c954
3 changed files with 15 additions and 8 deletions

View File

@@ -319,6 +319,14 @@ class TransactionJournal extends TransactionJournalSupport
return $query->where('transaction_journals.date', '<=', $date->format('Y-m-d 00:00:00'));
}
public function scopeSortCorrectly(EloquentBuilder $query)
{
$query->orderBy('transaction_journals.date', 'DESC');
$query->orderBy('transaction_journals.order', 'ASC');
$query->orderBy('transaction_journals.id', 'DESC');
}
/**
* @param EloquentBuilder $query
*/
@@ -339,7 +347,7 @@ class TransactionJournal extends TransactionJournalSupport
}
);
$query->groupBy('transaction_journals.id');
$query->with(['categories', 'budgets', 'attachments', 'bill','transactions']);
$query->with(['categories', 'budgets', 'attachments', 'bill', 'transactions']);
}
/**

View File

@@ -236,8 +236,10 @@ class AccountRepository implements AccountRepositoryInterface
$query = $this->user
->transactionjournals()
->expanded()
->sortCorrectly()
->before($end)
->after($start);
->after($start)
->take(10);
// expand query:
$query->leftJoin(
@@ -450,7 +452,7 @@ class AccountRepository implements AccountRepositoryInterface
$journal = TransactionJournal::
leftJoin('transactions', 'transactions.transaction_journal_id', '=', 'transaction_journals.id')
->where('transactions.account_id', $account->id)
->orderBy('transaction_journals.date', 'ASC')
->sortCorrectly()
->first(['transaction_journals.*']);
if (is_null($journal)) {
$date = new Carbon;
@@ -495,11 +497,10 @@ class AccountRepository implements AccountRepositoryInterface
public function openingBalanceTransaction(Account $account): TransactionJournal
{
$journal = TransactionJournal
::orderBy('transaction_journals.date', 'ASC')
::sortCorrectly()
->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.*']);
if (is_null($journal)) {
return new TransactionJournal;

View File

@@ -315,9 +315,7 @@ class BillRepository implements BillRepositoryInterface
$offset = ($page - 1) * $pageSize;
$query = $bill->transactionjournals()
->expanded()
->orderBy('transaction_journals.date', 'DESC')
->orderBy('transaction_journals.order', 'ASC')
->orderBy('transaction_journals.id', 'DESC');
->sortCorrectly();
$count = $query->count();
$set = $query->take($pageSize)->offset($offset)->get(TransactionJournal::queryFields());
$paginator = new LengthAwarePaginator($set, $count, $pageSize, $page);