Soy nuevo en cakephp. Quiero saber si es posible en cakephp manejar múltiples commits y reversiones de modelo con una sola transacción. que quiero hacer algo como estoGestión de transacciones con varios modelos que utilizan compromiso de transacción única y retrotracción
<?php
function add(){
$transaction = begintransaction;
if(model1->save()){
if(model2->save()){
if(model3->save(){
}
else{
$errorFlag['model3'] = "Error in model 3";
}
}
else{
$errorFlag['model2'] = "Error in model 2";
}
}
else{
$errorFlag['model3'] = "Error in model 3";
}
if(empty($errorFlag)){ //no error in saving the model
$transaction->commit();
$this->Session->setFlash(__('The form data with multiple model is saved', true));
}
else{ //error in saving the model
$transaction->rollback();
$this->Session->setFlash(__('The form data with multiple model is saved', true));
}
}
?>
Éste no funciona. Propiedad indefinida: MyController :: $ Modelo ¿Quiere decir Modelo - es solo algunas de las clases de modelo definidas para el controlador? Si es así, ¿se incluyen otras vistas en dicha transacción? –
Cambie "Modelo" al nombre de su clase de modelo. No entendí tu pregunta sobre los puntos de vista. Si tiene un problema específico, abra una nueva pregunta. – bancer