github.com/goravel/framework@v1.13.9/database/gorm/transaction.go (about) 1 package gorm 2 3 import ( 4 "gorm.io/gorm" 5 6 "github.com/goravel/framework/contracts/config" 7 "github.com/goravel/framework/contracts/database/orm" 8 ) 9 10 type Transaction struct { 11 orm.Query 12 instance *gorm.DB 13 } 14 15 func NewTransaction(tx *gorm.DB, config config.Config, connection string) *Transaction { 16 return &Transaction{Query: NewQueryImpl(tx.Statement.Context, config, connection, tx, nil), instance: tx} 17 } 18 19 func (r *Transaction) Commit() error { 20 return r.instance.Commit().Error 21 } 22 23 func (r *Transaction) Rollback() error { 24 return r.instance.Rollback().Error 25 }