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

从 GORM V1 迁移到 V2 时获取“缺少错误方法”

从 GORM V1 迁移到 V2 时获取“缺少错误方法”

Go
SMILET 2022-08-15 16:18:56
我目前正在从 GORM V1 迁移到 V2。有相当多的向后兼容性,但我面临以下问题。config.DB, err = gorm.Open(mysql.Open(config.DBDSN), &gorm.Config{})    if err != nil {        panic(err)    }上面的代码显示了我如何连接到mySQL数据库。以下函数导致错误。func (b *Base) AddTags(model interface{}, modelID uint64, tagType models.TagType, tags []models.Tag) error {    err := b.config.DB.Model(model).Association(tagType.Field()).Append(tags).Error    if err != nil {        return err    }    return b.updateTagPriority(model, modelID, tagType, tags)}错误是不能使用err(类型func()字符串)作为返回参数中的类型错误:func()字符串未实现错误(缺少错误方法)我使用 V2 发行说明来重构部分代码,但我无法弄清楚这个特定问题。https://gorm.io/docs/v2_release_note.html我认为V1和V2之间的错误处理可能会有一些重大变化
查看完整描述

1 回答

?
UYOU

TA贡献1878条经验 获得超4个赞

根据代码,该函数仅返回本机 。Appenderror

所以你可以写:

err := b.config.DB.Model(model).Association(tagType.Field()).Append(tags)

而不是:

err := b.config.DB.Model(model).Association(tagType.Field()).Append(tags).Error


查看完整回答
反对 回复 2022-08-15
  • 1 回答
  • 0 关注
  • 181 浏览
慕课专栏
更多

添加回答

举报

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