Quantcast
Channel: Yii Framework Forum
Viewing all articles
Browse latest Browse all 18717

Inserción Duplicada

$
0
0
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.

Viewing all articles
Browse latest Browse all 18717

Latest Images

Trending Articles



Latest Images

<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>