在 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})
}