我将我的数据库初始化为一个结构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.DB
WithContext()
GORM V2 移至https://github.com/go-gorm/gorm并具有导入路径gorm.io/gorm
。版本 2 添加了该DB.WithContext()
方法。
- 1 回答
- 0 关注
- 184 浏览
添加回答
举报
0/150
提交
取消