diff --git a/app/Models/Account.php b/app/Models/Account.php index 42bf226a20..6e64f4d853 100644 --- a/app/Models/Account.php +++ b/app/Models/Account.php @@ -74,11 +74,12 @@ class Account extends Model public static function firstOrCreateEncrypted(array $fields) { // everything but the name: - $query = Account::orderBy('id'); - foreach ($fields as $name => $value) { - if ($name != 'name' && $name != 'iban') { - $query->where($name, $value); - } + $query = Account::orderBy('id'); + $search = $fields; + unset($search['name'], $search['iban']); + + foreach ($search as $name => $value) { + $query->where($name, $value); } $set = $query->get(['accounts.*']); /** @var Account $account */ @@ -107,11 +108,11 @@ class Account extends Model public static function firstOrNullEncrypted(array $fields) { // everything but the name: - $query = Account::orderBy('id'); - foreach ($fields as $name => $value) { - if ($name != 'name') { - $query->where($name, $value); - } + $query = Account::orderBy('id'); + $search = $fields; + unset($search['name']); + foreach ($search as $name => $value) { + $query->where($name, $value); } $set = $query->get(['accounts.*']); /** @var Account $account */ diff --git a/app/Models/Budget.php b/app/Models/Budget.php index f6a8f9ec04..f631a0666f 100644 --- a/app/Models/Budget.php +++ b/app/Models/Budget.php @@ -48,11 +48,11 @@ class Budget extends Model public static function firstOrCreateEncrypted(array $fields) { // everything but the name: - $query = Budget::orderBy('id'); - foreach ($fields as $name => $value) { - if ($name != 'name') { - $query->where($name, $value); - } + $query = Budget::orderBy('id'); + $search = $fields; + unset($search['name']); + foreach ($search as $name => $value) { + $query->where($name, $value); } $set = $query->get(['budgets.*']); /** @var Budget $budget */ diff --git a/app/Models/Category.php b/app/Models/Category.php index dc4f7cbbff..e86cfb72e3 100644 --- a/app/Models/Category.php +++ b/app/Models/Category.php @@ -43,11 +43,12 @@ class Category extends Model public static function firstOrCreateEncrypted(array $fields) { // everything but the name: - $query = Category::orderBy('id'); - foreach ($fields as $name => $value) { - if ($name != 'name') { - $query->where($name, $value); - } + $query = Category::orderBy('id'); + $search = $fields; + unset($search['name']); + foreach ($search as $name => $value) { + $query->where($name, $value); + } $set = $query->get(['categories.*']); /** @var Category $category */ diff --git a/app/Models/Tag.php b/app/Models/Tag.php index 637f93b2c4..73f23b7699 100644 --- a/app/Models/Tag.php +++ b/app/Models/Tag.php @@ -62,14 +62,13 @@ class Tag extends Model public static function firstOrCreateEncrypted(array $fields) { // everything but the tag: - if (isset($fields['tagMode'])) { - unset($fields['tagMode']); - } + unset($fields['tagMode']); + $search = $fields; + unset($search['name']); + $query = Tag::orderBy('id'); - foreach ($fields as $name => $value) { - if ($name != 'tag') { - $query->where($name, $value); - } + foreach ($search as $name => $value) { + $query->where($name, $value); } $set = $query->get(['tags.*']); /** @var Tag $tag */