This commit is contained in:
James Cole
2016-09-24 10:58:48 +02:00
parent ab6dd0a1ec
commit 6fef9ee72b
3 changed files with 30 additions and 14 deletions

View File

@@ -217,26 +217,17 @@ class TagController extends Controller
} }
/** /**
* @param Tag $tag * @param Tag $tag
* @param TagRepositoryInterface $repository
* *
* @return View * @return View
*/ */
public function show(Tag $tag) public function show(Tag $tag, TagRepositoryInterface $repository)
{ {
$subTitle = $tag->tag; $subTitle = $tag->tag;
$subTitleIcon = 'fa-tag'; $subTitleIcon = 'fa-tag';
$journals = $repository->getJournals($tag);
$sum = $journals->sum(
/** @var Collection $journals */
$journals = $tag
->transactionJournals()
->sortCorrectly()
->expanded()
->groupBy(['tag_transaction_journal.tag_id'])
->get(TransactionJournal::queryFields());
$sum = $journals->sum(
function (TransactionJournal $journal) { function (TransactionJournal $journal) {
return TransactionJournal::amount($journal); return TransactionJournal::amount($journal);
} }

View File

@@ -131,6 +131,24 @@ class TagRepository implements TagRepositoryInterface
return $tags; return $tags;
} }
/**
* @param Tag $tag
*
* @return Collection
*/
public function getJournals(Tag $tag) : Collection
{
/** @var Collection $journals */
$journals = $tag
->transactionJournals()
->sortCorrectly()
->expanded()
->groupBy(['tag_transaction_journal.tag_id'])
->get(TransactionJournal::queryFields());
return $journals;
}
/** /**
* @param array $data * @param array $data
* *

View File

@@ -33,6 +33,13 @@ interface TagRepositoryInterface
*/ */
public function connect(TransactionJournal $journal, Tag $tag): bool; public function connect(TransactionJournal $journal, Tag $tag): bool;
/**
* @param Tag $tag
*
* @return Collection
*/
public function getJournals(Tag $tag) : Collection;
/** /**
* This method destroys a tag. * This method destroys a tag.
* *