我将我的数据库初始化为 struct
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)
就可以了.我该怎么解决这个问题呢?
我try 了一些愚蠢的事情,比如从 struct 中删除*,但它有点 destruct 了整个封装的 idea .我也试过阅读https://gorm.io/docs/method_chaining.html,但不知道如何实现它,以及它是否适合我的情况.如果是的话,我要求澄清一下.