$bodegaId]); Log::info('Stock inicial extraído:', ['stock_inicial' => $stockInicial]); // Remover campos que no pertenecen al modelo ProductVariant unset($data['bodega_id'], $data['stock_inicial']); // Asegurar que stock esté en 0 en el modelo principal $data['stock'] = 0; // Crear la variante $variante = ProductVariant::create($data); Log::info('Variante creada:', ['id' => $variante->id]); // Asignar a la bodega si se especificó if ($bodegaId) { $variante->bodegas()->attach($bodegaId, ['stock' => $stockInicial]); Log::info('Relación bodega creada:', [ 'variante_id' => $variante->id, 'bodega_id' => $bodegaId, 'stock' => $stockInicial ]); $bodegaNombre = \App\Models\Bodega::find($bodegaId)->nombre; Notification::make() ->title('Variante creada exitosamente') ->body("La variante se asignó a la bodega '{$bodegaNombre}' con stock de {$stockInicial} unidades.") ->success() ->send(); } return $variante; } }