[Resuelto] Actualizar Registros Desde Otra Tabla

Hola comunidad, ante todo gracias por la ayuda que me puedan ofrecer en este tema.

El problema es que estoy haciendo un procedimiento para pagar cheques y al pagar en otra tabla (facturas), se actualicen algunos campos:

Tengo las siguientes tablas:

1. docubancarios: Se guardan en los campos fecha: Fecha en que se paga una o varias factura por un documento bancario(Cheques, Letras de cambio, etc.), CodCliente: Cliente que paga la factura, hay otros pero no creo que interesen para este caso.

2. detallescheq: Se guardan los detalles del pago en los campos Id_che: Toma el numero del id (Llave primaria de la tabla docubancarios) y están relacionadas, nfactura: el número de las factura o facturas pagadas por el documento, valor: Importe pagado en cada factura.

3. facturas: Están las facturas a pagar por los campos Codfact: Llave primaria es campo incrementable, CodCliente: Cliente que paga la factura, CodPVen: Punto de venta al cual le pagan la factura, FPago: Fecha en que se pago la factura, Id_Estado: Estado del pago (1 si se pago, 2 si se canceló y 3 si no se a pagado)

En el controlador de docubancarios lo siguiente:




public function actionSalvarDocumento() {

    	$id=$_POST['modelid'];


    	if($id)

            	$model=$this->loadModel($id);   

    	else        	

            	$model = new Docubancarios;   

    	

    	if(isset($_POST['detalle'])) {

       		//Lo que se guarda en tabla docubancarios

            	$model->fecha=$_POST['fecha'];

            	$model->CodCliente=$_POST['cliente'];

            	$model->CodMon=$_POST['codmon']; 

            	$model->CodDocBan=$_POST['coddocban']; 

            	$model->CodDoc=$_POST['coddoc']; 

            	$model->Importe=$_POST['importe'];  

				

 		if ($model->save()) {

        	Detallescheq::model()->deleteAll('Id_che=:id', array(':id'=>$model->id));


          	foreach($_POST['detalle'] as $item){

          	//Lo que se guarda en tabla Detallescheq

            	$detalle=new Detallescheq;  	

            	$detalle->Id_che=$model->id;

            	$detalle->nfactura=$item['producto'];

            	$detalle->valor=$item['cantidad'];

            	$detalle->save(); //hasta aquí trabaja bien

   		//para actualizar las facturas pagadas en tabla facturas

            	if(!$id){

            	$criteria=new CDbCriteria;                                    	

       		// $criteria->addCondition('CodCliente=:codcli'); 

            	$criteria->addCondition('nfactura=:fact'); 	

            	$criteria->params=array(':fact'=>$item['nfactura']);//':codcli'=>$model->CodCliente,			

            	$objSubmp = Facturas::model()->find($criteria);

            	$objSubmp->FPago = $objSubmp->$item['fecha'];  

            	$objSubmp->Id_Estado = '1';                  	

            	$objSubmp->save();  

                	}   	

                   		

            	}

		}

    	}

	}



Este procedimiento trabaja bien hasta salvar los detalles, o sea guarda en la tabla docubancarios y en la tabla detallescheq, pero a la hora de actualizar las facturas pagadas en tabla facturas no lo hace, o sea debe tomar la fecha de pago


 $model->fecha=$_POST['fecha'];

y ponerla en la tabla facturas en el campo FPago y debe poner al campo Id_Estado el valor 1, pero esto último no lo hace.

Espero sus sugerencias y muchas gracias por ellas.

Ok ya resolví, el problema era que no estaba tomando los valores a copiar en la tabla facturas de lo guardado en la tabla docubancarios, para ello hice lo siguiente:




public function actionSalvarDocumento() {

    	$id=$_POST['modelid'];


    	if($id)

            	$model=$this->loadModel($id);   

    	else        	

            	$model = new Docubancarios;   

    	

    	if(isset($_POST['detalle'])) {

       		//Lo que se guarda en tabla docubancarios

            	$model->fecha=$_POST['fecha'];

            	$model->CodCliente=$_POST['cliente'];

            	$model->CodMon=$_POST['codmon']; 

            	$model->CodDocBan=$_POST['coddocban']; 

            	$model->CodDoc=$_POST['coddoc']; 

            	$model->Importe=$_POST['importe'];  

				

 	     if(!$id){

            	$criteria=new CDbCriteria;                                    	

            	$criteria->addCondition('CodCliente=:codcli'); 

            	$criteria->addCondition('nfactura=:fact');

            	$criteria->params=array(':codcli'=>$model->CodCliente, ':fact'=>$item['producto']);	 				

            	$objfac = Facturas::model()->find($criteria);

				$objfac->FPago = $_POST['fecha'];

            	$objfac->CodDoc = $_POST['coddoc'];

				$objfac->CodDocBan = $_POST['coddocban'];

            	$objfac->Id_Estado = 1;                  	

            	$objfac->save();  

                	}   	

                   		

            	}

		}

    	}

	}



Gracias de todas formas