Muy buenos días para todos,
actualmente estoy realizando un módulo de pedidos, resulta y acontese que cuando registro la cabeza del pedido, se está registrando variablemente entre 1 y 6 inserciones, lo cual no tiene sentido debido a que esa inserción no la tengo dentro de un for, no sé si será por la BD o por algún problema de lógica con Yii, agradezco su ayuda, después de todo, 100 ojos ven mejor que 2.
Código Action:
public function actionCreate()
{
$model=new OrdenPedidoCliente;
// Uncomment the following line if AJAX validation is needed
$this->performAjaxValidation($model);
$detalleOrden=new DetallePedidoCliente;
if(isset($_POST['detalleProductos']))
{
$transaction=$model->dbConnection->beginTransaction();
try{
$model->emp_codigo= Yii::app()->user->getState('company');
$model->opc_usu_crea=Yii::app()->user->getState('userid');
if(Yii::app()->user->name=="SUPER"){
$model->cli_codigo=$_POST['usuCliente'];
}
else{
$model->cli_codigo= Yii::app()->user->getState('userid');
}
$model->opc_numero=5;
$model->save();
$id=Yii::app()->db->createCommand('SELECT @@identity AS id')->queryRow(false);
$productos= explode(',', $_POST['detalleProductos']);
$i=0;
for($j=0;$j<count($productos);$j++){
$vector[]=$productos[$j];
if($i==5){
Yii::app()->db->createCommand("INSERT INTO detalle_orden_pedido_cliente (opc_codigo,prd_codigo,dpc_uni_pedi) VALUES(".$id[0].", ".$vector[0].", ".$vector[2].")")->execute();
$vector=null;
$i=0;
}
else
$i++;
}
$transaction->commit();
$this->redirect('admin');
}
catch(CDbException $exc){
$transaction->rollback();
Yii::app()->clientScript->registerScript('Error', 'alert("Error: '.$exc->errorInfo[1].'\n Mensaje: '.$exc->errorInfo[2].'");');
}
}
$this->render('create',array(
'model'=>$model,
'detalleOrden'=>$detalleOrden,
));
}
Muchas gracias de antemano.