第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

reflect:調(diào)用 reflect.Value.SetString on uint Value

reflect:調(diào)用 reflect.Value.SetString on uint Value

Go
慕姐4208626 2022-12-19 17:57:41
我正在嘗試使用 Golang、Gin 和 GORM 構(gòu)建一個簡單的 CRUD 博客。但是,當我想更新博客內(nèi)容時,觸發(fā)了以下錯誤:reflect: call of reflect.Value.SetString on uint Value/usr/local/go/src/reflect/value.go:223 (0x10bfb25)        flag.mustBe: panic(&ValueError{methodName(), f.kind()})/usr/local/go/src/reflect/value.go:2292 (0x10bfaa3)        Value.SetString: v.mustBe(String)/Users/sam/go/pkg/mod/gorm.io/gorm@v1.23.5/schema/field.go:771 (0x144fcfc)        (*Field).setupValuerAndSetter.func11: field.ReflectValueOf(ctx, value).SetString(data)/Users/sam/go/pkg/mod/gorm.io/gorm@v1.23.5/callbacks/update.go:144 (0x14b7d9a)        ConvertToAssignments.func2: field.Set(stmt.Context, stmt.ReflectValue, value)/Users/sam/go/pkg/mod/gorm.io/gorm@v1.23.5/callbacks/update.go:275 (0x14b62fa)        ConvertToAssignments: assignValue(field, value)/Users/sam/go/pkg/mod/gorm.io/gorm@v1.23.5/callbacks/update.go:73 (0x14b4fe4)        Update.func1: if set := ConvertToAssignments(db.Statement); len(set) != 0 {/Users/sam/go/pkg/mod/gorm.io/gorm@v1.23.5/callbacks.go:130 (0x146d632)        (*processor).Execute: f(db)/Users/sam/go/pkg/mod/gorm.io/gorm@v1.23.5/finisher_api.go:372 (0x1476811)        (*DB).Updates: return tx.callbacks.Update().Execute(tx)/Volumes/Data/Develop/Go/go-blog/controllers/blog.go:65 (0x1693364)        UpdateBlog: models.DB.Model(&blog).Updates(input)/Users/sam/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go:168 (0x168a121)        (*Context).Next: c.handlers[c.index](c)/Users/sam/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/recovery.go:99 (0x168a10c)        CustomRecoveryWithWriter.func1: c.Next()/Users/sam/go/pkg/mod/github.com/gin-gonic/gin@v1.7.7/context.go:168 (0x1689246)
查看完整描述

1 回答

?
冉冉說

TA貢獻1877條經(jīng)驗 獲得超1個贊

這可能是因為您使用的結(jié)構(gòu)不同于 models.Blog 來更新。您可以嘗試以下操作嗎:


func UpdateBlog(c *gin.Context) {

    var blog models.Blog

    if err := models.DB.Where("id = ?", c.Param("id")).First(&blog).Error; err != nil {

        c.AbortWithStatusJSON(http.StatusNotFound, gin.H{"error": "record not found"})

        return

    }


    var input UpdateBlogInput


    if err := c.ShouldBindJSON(&input); err != nil {

        c.AbortWithStatusJSON(http.StatusBadRequest, gin.H{"error": err.Error()})

        return

    }


    updateBlog := models.Blog{Title: input.Title, Content: input.Content}


    models.DB.Model(&blog).Updates(&updateBlog)

    c.JSON(http.StatusOK, gin.H{"data": updateBlog})

}


查看完整回答
反對 回復(fù) 2022-12-19
  • 1 回答
  • 0 關(guān)注
  • 326 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號