Ich bin neu bei CakePHP. Ich möchte wissen, ob es in CakePHP möglich ist, mehrere Commits und Rollbacks mit einer einzigen Transaktion zu bearbeiten. Ich mag etwas, etwas zu tun wie dieseTransaktionsverwaltung mit mehreren Modellen mit Einzeltransaktions-Commit und Rollback
<?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));
}
}
?>
Dieser funktioniert nicht. Undefinierte Eigenschaft: MyController :: $ Model Meinst du Model - sind nur einige der Modell-Klassen für Controller definiert? Wenn ja - sind andere Ansichten in einer solchen Transaktion enthalten? –
Ändern Sie "Model" in Ihren Modellklassennamen. Ich habe deine Frage zu den Ansichten nicht verstanden. Wenn Sie ein bestimmtes Problem haben, öffnen Sie eine neue Frage. – bancer