我將我的數(shù)據(jù)庫(kù)初始化為一個(gè)結(jié)構(gòu)type DBStorage struct { db *gorm.DB}和db, err := gorm.Open("postgres", DatabaseURL)...return &DBStorage{ db: db,}一切正常:查詢、更新和所有其他操作。但是后來(lái)我嘗試將上下文添加到我的項(xiàng)目中,但它并沒(méi)有像那樣工作:func (dbStorage DBStorage) PutOrder(order service.Order, ctx context.Context) error {... dbStorage.db.WithContext(ctx).Create(&order)...}它說(shuō) WithContext 是一個(gè)未解析的引用。雖然dbStorage.db.Create(&order)工作正常。我應(yīng)該如何解決這個(gè)問(wèn)題?我嘗試了一些愚蠢的事情,比如從結(jié)構(gòu)中刪除 *,但它有點(diǎn)破壞了整個(gè)封裝的想法。還嘗試閱讀https://gorm.io/docs/method_chaining.html但不知道如何實(shí)現(xiàn)它以及它是否適合我的情況。如果是的話,我要求澄清一下。
不能在 *gorm.db 而不是 gorm.db 上使用 WithContext(ctx) 方法
慕田峪7331174
2023-03-07 16:34:49