diff --git a/app/Console/Commands/RecurringCheck.php b/app/Console/Commands/RecurringCheck.php index fa1ae8f9b..1e8e56c1a 100644 --- a/app/Console/Commands/RecurringCheck.php +++ b/app/Console/Commands/RecurringCheck.php @@ -218,12 +218,14 @@ class RecurringCheck extends Command $model->created_from = 'core::recurring'; $model->save(); + $this->updateRelationTypes($model, $template->cloneable_relations); + return $model; } protected function getTransactionModel(Transaction $template, Date $schedule_date): Transaction { - $template->cloneable_relations = []; + $template->cloneable_relations = ['taxes']; $model = $template->duplicate(); @@ -233,6 +235,8 @@ class RecurringCheck extends Command $model->created_from = 'core::recurring'; $model->save(); + $this->updateRelationTypes($model, $template->cloneable_relations); + return $model; } @@ -266,4 +270,15 @@ class RecurringCheck extends Command { return Str::replace('-recurring', '', $recurring_type); } + + public function updateRelationTypes($model, $relations) + { + foreach ($relations as $relation) { + if (! method_exists($model, $relation)) { + continue; + } + + $model->$relation()->update(['type' => $model->type]); + } + } }