producto && empty($detalle->producto_nombre_snapshot)) { $detalle->producto_nombre_snapshot = $detalle->producto->nombre; Log::info("Snapshot de producto guardado", [ 'detalle_id' => $detalle->id, 'producto_id' => $detalle->producto_id, 'producto_nombre' => $detalle->producto_nombre_snapshot ]); } // Guardar snapshot de variante si existe y no hay snapshot previo if ($detalle->variante && empty($detalle->variante_info_snapshot)) { // Validación defensiva para evitar error "name" on null $colorName = $detalle->variante->color ? $detalle->variante->color->name : 'Sin color'; $sizeName = $detalle->variante->size ? $detalle->variante->size->name : 'Sin talla'; $detalle->variante_info_snapshot = $colorName . ' / ' . $sizeName; Log::info("Snapshot de variante guardado", [ 'detalle_id' => $detalle->id, 'variante_id' => $detalle->variante_id, 'variante_info' => $detalle->variante_info_snapshot ]); } } }