diff --git a/app/Http/Controllers/OrderController.php b/app/Http/Controllers/OrderController.php index 0a2f978..2d1126e 100644 --- a/app/Http/Controllers/OrderController.php +++ b/app/Http/Controllers/OrderController.php @@ -1449,6 +1449,12 @@ private function archiveOrder(?Order $Order = null, ?int $orderId = null, ?int $ */ $OrderArchive = new OrderArchive; $exclude = ['id']; + // Kizárjuk az Eloquent által betöltött relációkat is, hogy azok ne kerüljenek be az archív táblába. + // A getRelations() camelCase kulcsokat ad vissza (pl. 'profitCenter'), de a toArray() snake_case-re + // konvertálja őket (pl. 'profit_center'), ezért mindkét formátumot kizárjuk. + $relationKeys = array_keys($Order->getRelations()); + $relationSnakeKeys = array_map(fn ($k) => \Illuminate\Support\Str::snake($k), $relationKeys); + $exclude = array_merge($exclude, $relationKeys, $relationSnakeKeys); $prefixed = ['created_by', 'updated_by', 'deleted_by', 'created_by', 'updated_by', 'deleted_by']; foreach ($Order->toArray() as $k => $v) { if (! in_array($k, $exclude)) {