为了账号安全,请及时绑定邮箱和手机立即绑定

不能在 *gorm.db 而不是 gorm.db 上使用 WithContext(ctx) 方法

不能在 *gorm.db 而不是 gorm.db 上使用 WithContext(ctx) 方法

Go
慕田峪7331174 2023-03-07 16:34:49
我将我的数据库初始化为一个结构type DBStorage struct {   db *gorm.DB}和db, err := gorm.Open("postgres", DatabaseURL)...return &DBStorage{   db: db,}一切正常:查询、更新和所有其他操作。但是后来我尝试将上下文添加到我的项目中,但它并没有像那样工作:func (dbStorage DBStorage) PutOrder(order service.Order, ctx context.Context) error {...   dbStorage.db.WithContext(ctx).Create(&order)...}它说 WithContext 是一个未解析的引用。虽然dbStorage.db.Create(&order)工作正常。我应该如何解决这个问题?我尝试了一些愚蠢的事情,比如从结构中删除 *,但它有点破坏了整个封装的想法。还尝试阅读https://gorm.io/docs/method_chaining.html但不知道如何实现它以及它是否适合我的情况。如果是的话,我要求澄清一下。
查看完整描述

1 回答

?
元芳怎么了

TA贡献1798条经验 获得超7个赞

检查您的进口声明。它应该import gorm.io/gorm代替import github.com/jinzhu/gorm.

库的第一个版本是类型没有方法的github.com/jinzhu/gorm地方。gorm.DBWithContext()

GORM V2 移至https://github.com/go-gorm/gorm并具有导入路径gorm.io/gorm。版本 2 添加了该DB.WithContext()方法。


查看完整回答
反对 回复 2023-03-07
  • 1 回答
  • 0 关注
  • 184 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信