$value]); if (strlen($value) === 0) { return new Account; } /** @var AccountCrudInterface $repository */ $repository = app(AccountCrudInterface::class, [$this->user]); if (isset($this->mapping[$value])) { Log::debug('Found account in mapping. Should exist.', ['value' => $value, 'map' => $this->mapping[$value]]); $account = $repository->find(intval($this->mapping[$value])); if (!is_null($account->id)) { Log::debug('Found account by ID', ['id' => $account->id]); return $account; } } // not mapped? Still try to find it first: $account = $repository->findByAccountNumber($value, [AccountType::ASSET]); if (!is_null($account->id)) { Log::debug('Found account by name', ['id' => $account->id]); return $account; } $account = $repository->store( ['name' => 'Account with number ' . $value, 'openingBalance' => 0, 'iban' => null, 'user' => $this->user->id, 'accountType' => 'asset', 'virtualBalance' => 0, 'active' => true] ); return $account; } }