$client->id, 'custom_field_definition_id' => $definition->id, ]); $old = $record->value; if ($old === $new) { return $record; } $record->value = $new; $record->author_id = $author->id; $record->save(); HistoryEntry::create([ 'client_id' => $client->id, 'type' => HistoryEntryType::FieldChange, 'body' => $this->changeBody($definition->label, $old, $new), 'custom_field_definition_id' => $definition->id, 'author_id' => $author->id, ]); return $record; }); } private function changeBody(string $label, ?string $old, ?string $new): string { if ($old === null) { return "{$label} gesetzt: „{$new}“"; } if ($new === null) { return "{$label} entfernt (war „{$old}“)"; } return "{$label} geändert: „{$old}“ → „{$new}“"; } }