updatePrimaryCurrencyAmount($event); } public function updated(PiggyBankEvent $event): void { Log::debug('Observe "updated" of a piggy bank event.'); $this->updatePrimaryCurrencyAmount($event); } private function updatePrimaryCurrencyAmount(PiggyBankEvent $event): void { $user = $event->piggyBank->accounts()->first()?->user; if (null === $user) { Log::warning('Piggy bank seems to have no accounts. Break.'); return; } $params = new ConversionParameters(); $params->user = $user; $params->model = $event; $params->originalCurrency = $event->piggyBank->transactionCurrency; $params->amountField = 'amount'; $params->primaryAmountField = 'native_amount'; ConvertsAmountToPrimaryAmount::convert($params); } }