From 12641f96b197d9ac5212098063a7e92877db9379 Mon Sep 17 00:00:00 2001 From: James Cole Date: Wed, 14 Aug 2019 20:23:11 +0200 Subject: [PATCH] Fix #2422 --- app/Http/Controllers/Rule/SelectController.php | 4 ++-- app/TransactionRules/TransactionMatcher.php | 12 +++++------- 2 files changed, 7 insertions(+), 9 deletions(-) diff --git a/app/Http/Controllers/Rule/SelectController.php b/app/Http/Controllers/Rule/SelectController.php index b5a20f49b7..cf81e5e49a 100644 --- a/app/Http/Controllers/Rule/SelectController.php +++ b/app/Http/Controllers/Rule/SelectController.php @@ -181,10 +181,10 @@ class SelectController extends Controller // Warn the user if only a subset of transactions is returned $warning = ''; - if ($matchingTransactions->count() === $limit) { + if (count($matchingTransactions) === $limit) { $warning = (string)trans('firefly.warning_transaction_subset', ['max_num_transactions' => $limit]); // @codeCoverageIgnore } - if (0 === $matchingTransactions->count()) { + if (0 === count($matchingTransactions)) { $warning = (string)trans('firefly.warning_no_matching_transactions', ['num_transactions' => $range]); // @codeCoverageIgnore } diff --git a/app/TransactionRules/TransactionMatcher.php b/app/TransactionRules/TransactionMatcher.php index f54cd3dc23..ce7c532bbc 100644 --- a/app/TransactionRules/TransactionMatcher.php +++ b/app/TransactionRules/TransactionMatcher.php @@ -107,10 +107,10 @@ class TransactionMatcher * transaction journals matching the given $triggers. This is accomplished by trying to fire these * triggers onto each transaction journal until enough matches are found ($limit). * - * @return Collection + * @return array * @throws \FireflyIII\Exceptions\FireflyException */ - public function findTransactionsByTriggers(): Collection + public function findTransactionsByTriggers(): array { if (0 === count($this->triggers)) { return new Collection; @@ -125,9 +125,7 @@ class TransactionMatcher // If the list of matchingTransactions is larger than the maximum number of results // (e.g. if a large percentage of the transactions match), truncate the list - $result = $result->slice(0, $this->searchLimit); - - return $result; + return array_slice($result, 0, $this->searchLimit); } /** @@ -251,7 +249,7 @@ class TransactionMatcher * * @param Processor $processor * - * @return Collection + * @return array */ private function runProcessor(Processor $processor): array { @@ -265,7 +263,7 @@ class TransactionMatcher // - all transactions have been fetched from the database // - the maximum number of transactions to return has been found // - the maximum number of transactions to search in have been searched - $pageSize = min($this->searchLimit, min($this->triggeredLimit, 50)); + $pageSize = $this->searchLimit; $processed = 0; $page = 1; $totalResult = [];