从gorm.DB中获取sql.Tx

问题描述 投票:0回答:1

我正在开发一个使用 gorm 来处理数据库访问的应用程序。

我正在考虑为此使用现有的包,并且该包需要一个

sql.Tx
结构值。

开始gorm交易后,我可以从

sql.DB
中取出
gorm.DB
,但没有找到提取
sql.Tx
的方法。

如何从 Gorm 事务数据库结构中获取

sql.Tx

go-gorm
1个回答
1
投票

给定一个名为

*gorm.DB
db
实例,您可以尝试将
db.Statement.ConnPool
转换为
sql.Tx
,如下所示:

var db *gorm.DB // Passed in or created elsewhere
if tx, ok := db.Statement.ConnPool.(*sql.Tx); ok {
  // `tx` is an instance of `*sql.Tx`.
}
© www.soinside.com 2019 - 2024. All rights reserved.