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

如何在 GORM 中获取字段值

如何在 GORM 中获取字段值

Go
手掌心 2023-01-03 15:49:08
我有一个将所有Product数据输出到 的函数data array,但我还需要category在relatives array.功能:func GetProductsById(c *gin.Context) {     var Product models.Products    Products := []models.Products{}    config.DB.Where("cat_id", func(tx *gorm.DB) *gorm.DB {        return config.DB.Where("id=?", c.Query("prod_id")).Select("cat_id").First(&Product)    }).Find(&Products)    if err := config.DB.Where("id=?", c.Query("prod_id")).First(&Product).Error; err != nil {        c.JSON(http.StatusInternalServerError, err.Error())    } else {        c.JSON(http.StatusOK, gin.H{            "data":      []models.Products{Product},            "relatives": &Products})    }}我试着自己做,但我无法product category从数据数组中访问以显示 5 个类似的产品。我有错误: cannot convert 0xa182e0 to Int8
查看完整描述

1 回答

?
长风秋雁

TA贡献1757条经验 获得超7个赞

我认为你的 id 是整数,c.Query("prod_id") 返回字符串。您必须将其转换为整数


intVar, err := strconv.Atoi(c.Query("prod_id"))

如果代码没有错误:


config.DB.Where("cat_id", func(tx *gorm.DB) *gorm.DB {

    return config.DB.Where("id=?", intVar).Select("cat_id").First(&Product)

}).Find(&Products)


查看完整回答
反对 回复 2023-01-03
  • 1 回答
  • 0 关注
  • 252 浏览
慕课专栏
更多

添加回答

举报

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