diff --git a/app/Factory/BudgetFactory.php b/app/Factory/BudgetFactory.php index 3df3134889..4824d322bc 100644 --- a/app/Factory/BudgetFactory.php +++ b/app/Factory/BudgetFactory.php @@ -90,17 +90,7 @@ class BudgetFactory */ public function findByName(string $name): ?Budget { - /** @var Collection $collection */ - $collection = $this->user->budgets()->get(); - // TODO no longer need to loop like this - /** @var Budget $budget */ - foreach ($collection as $budget) { - if ($budget->name === $name) { - return $budget; - } - } - - return null; + return $this->user->budgets()->where('name', $name)->first(); } /** diff --git a/app/Factory/CategoryFactory.php b/app/Factory/CategoryFactory.php index 8379c5a147..0e3498220e 100644 --- a/app/Factory/CategoryFactory.php +++ b/app/Factory/CategoryFactory.php @@ -55,21 +55,7 @@ class CategoryFactory */ public function findByName(string $name): ?Category { - $result = null; - /** @var Collection $collection */ - $collection = $this->user->categories()->get(); - - // TODO no longer need to loop like this - - /** @var Category $category */ - foreach ($collection as $category) { - if ($category->name === $name) { - $result = $category; - break; - } - } - - return $result; + return $this->user->categories()->where('name', $name)->first(); } /** diff --git a/app/Factory/PiggyBankFactory.php b/app/Factory/PiggyBankFactory.php index 766c4e8d4e..42b1330de0 100644 --- a/app/Factory/PiggyBankFactory.php +++ b/app/Factory/PiggyBankFactory.php @@ -90,18 +90,7 @@ class PiggyBankFactory */ public function findByName(string $name): ?PiggyBank { - $set = $this->user->piggyBanks()->get(); - - // TODO no longer need to loop like this - - /** @var PiggyBank $piggy */ - foreach ($set as $piggy) { - if ($piggy->name === $name) { - return $piggy; - } - } - - return null; + return $this->user->piggyBanks()->where('name', $name)->first(); } /** diff --git a/app/TransactionRules/Actions/RemoveTag.php b/app/TransactionRules/Actions/RemoveTag.php index bb20c0453f..186bc3f739 100644 --- a/app/TransactionRules/Actions/RemoveTag.php +++ b/app/TransactionRules/Actions/RemoveTag.php @@ -47,7 +47,6 @@ class RemoveTag implements ActionInterface /** * Remove tag X - * TODO the filter is no longer necessary. * @param TransactionJournal $journal * * @return bool @@ -56,12 +55,7 @@ class RemoveTag implements ActionInterface { // if tag does not exist, no need to continue: $name = $this->action->action_value; - /** @var Tag $tag */ - $tag = $journal->user->tags()->get()->filter( - function (Tag $tag) use ($name) { - return $tag->tag === $name; - } - )->first(); + $tag = $journal->user->tags()->where('tag', $name)->first(); if (null !== $tag) { Log::debug(sprintf('RuleAction RemoveTag removed tag #%d ("%s") from journal #%d.', $tag->id, $tag->tag, $journal->id)); diff --git a/app/TransactionRules/Actions/SetBudget.php b/app/TransactionRules/Actions/SetBudget.php index 37816cd281..94e85cb570 100644 --- a/app/TransactionRules/Actions/SetBudget.php +++ b/app/TransactionRules/Actions/SetBudget.php @@ -22,12 +22,9 @@ declare(strict_types=1); namespace FireflyIII\TransactionRules\Actions; -use FireflyIII\Models\Budget; use FireflyIII\Models\RuleAction; -use FireflyIII\Models\Transaction; use FireflyIII\Models\TransactionJournal; use FireflyIII\Models\TransactionType; -use FireflyIII\Repositories\Budget\BudgetRepositoryInterface; use Log; /** @@ -50,27 +47,15 @@ class SetBudget implements ActionInterface /** * Set budget. - * TODO the filter is no longer necessary. - * * @param TransactionJournal $journal * * @return bool */ public function act(TransactionJournal $journal): bool { - /** @var BudgetRepositoryInterface $repository */ - $repository = app(BudgetRepositoryInterface::class); - $repository->setUser($journal->user); $search = $this->action->action_value; - $budgets = $repository->getActiveBudgets(); - // TODO no longer need to loop like this - - $budget = $budgets->filter( - static function (Budget $current) use ($search) { - return $current->name === $search; - } - )->first(); + $budget = $journal->user->budgets()->where('name', $search)->first(); if (null === $budget) { Log::debug(sprintf('RuleAction SetBudget could not set budget of journal #%d to "%s" because no such budget exists.', $journal->id, $search));