[Solucionado] Inserción Duplicada

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.

Hola,

Recientemente tuve el mismo problema, podrías mostrarme tu vista? o mas que todos las opciones del widget Form, resulta que en mi caso tenia el " enctype="multipart/form-data" debido a que estaba subiendo un archivo y tenia la validación ajax activada pero en el controlador no estaba validando por ajax, lo pase a false y se soluciono,verifica que el método " performAjaxValidation($model) " valide el mismo nombre de tu formulario,

Saludos.

Amigo muchas gracias, efectivamente ese era el problema, coloqué el enableAjaxValidation en false y se solucionó al instante, llevaba 3 días buscando el problema y nada.

Muchas gracias.

Que bueno, de nada amigo estamos para ayudarnos.