在 Golang 杜松子酒中传递外键



这是我的代码片段,我试图将language_id与书籍创建调用一起传递,不知何故我收到错误

func Create(c *gin.Context) {
dbb := c.MustGet("db").(*gorm.DB)
book := Models.BookModel{
Title:  c.PostForm("title"),
Author: c.PostForm("author"),
LanguageID: c.PostForm("language_id"),
}
dbb.Save(&book)
c.JSON(http.StatusCreated, gin.H{"status": http.StatusCreated, "message": "Book created successfully!", "bookId": book.ID})
}

错误是Cannot use 'c.PostForm("language_id")' (type string) as type int任何帮助,这将是非常感谢!

问题是LanguageID是一个int类型,你想将一个字符串值传递给它,你应该像这样解析它为int:

func Create(c *gin.Context) {
dbb := c.MustGet("db").(*gorm.DB)
languageID, err := strconv.Atoi(c.PostForm("language_id"))
if err != nil {
fmt.Println(err)
return
}
book := Models.BookModel{
Title:  c.PostForm("title"),
Author: c.PostForm("author"),
LanguageID: languageID,
}
dbb.Save(&book)
c.JSON(http.StatusCreated, gin.H{"status": http.StatusCreated, "message": "Book created successfully!", "bookId": book.ID})
}

最新更新