同时开两个事务的方法

This commit is contained in:
lingxin 2024-03-23 09:21:26 +08:00
parent af666aafa4
commit ce4d32530b

View File

@ -375,3 +375,24 @@ var where = []string{
"Rr", "Rr",
"Ee", "Ee",
} }
// Transaction 同时开两个事务的方法
func Transaction(txItem, txMain *gorm.DB, fun func(txItem, txMain *gorm.DB) (err error)) (err error) {
tx1 := txItem.Begin()
tx2 := txMain.Begin()
err = fun(tx1, tx2)
if err != nil {
tx1.Rollback()
tx2.Rollback()
return err
}
err = tx1.Commit().Error
if err != nil {
return
}
err = tx2.Commit().Error
if err != nil {
return
}
return
}