在 Golang gin 中传递外键
Pass foreign key in Golang gin
这是我的代码片段,我正在尝试传递 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})
}
这是我的代码片段,我正在尝试传递 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})
}