gpt4 book ai didi

cakephp - 使用单个事务提交和回滚的多模型事务管理

转载 作者:行者123 更新时间:2023-12-04 18:16:12 26 4
gpt4 key购买 nike

我是 cakephp 的新手。
我想知道在 cakephp 中是否可以通过单个事务处理多个模型提交和回滚。
我想做这样的事情

<?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));
}
}
?>

最佳答案

如果您的模型 1-3 具有“有很多”或“属于”关系,您可能应该使用

$this->Model1->saveAll($this->data);

它将负责在单个事务中验证和保存所有发布的模型数据。

关于cakephp - 使用单个事务提交和回滚的多模型事务管理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3013347/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com