我正在嘗試使用數(shù)據(jù)庫。我被建議使用Gorm,但是,由于某些方法不起作用,因此很煩人。對于模型,我有:type UserModel struct {
first_name string
last_name string
}這是我的示例代碼及其結(jié)果。下面的代碼有效,但在我的數(shù)據(jù)庫中,表名是user_models db.Migrator().CreateTable(&UserModel{})以下代碼不起作用err := db.Migrator().AddColumn(&UserModel{}, "first_name")無法查找名稱為:first_name的字段我嘗試了這個,它的工作原理db.Exec("ALTER TABLE user_models ADD first_name varchar(64);")另一個不起作用user := UserModel{first_name: "Jinzhu", last_name: "name"}不是錯誤,而是插入first_name:空和last_name:空最后,有什么能幫我解決這些問題嗎?
1 回答

小怪獸愛吃肉
TA貢獻(xiàn)1852條經(jīng)驗(yàn) 獲得超1個贊
您的兩個字段“first_name”和“l(fā)ast_name”(兩者都不遵循 Go 命名建議)是未導(dǎo)出的,因?yàn)樗鼈円孕懽帜搁_頭。這意味著Gorm不關(guān)注這些領(lǐng)域。
我建議使用以下方法,它將使用Gorm推薦的結(jié)構(gòu)標(biāo)簽實(shí)現(xiàn)您想要的字段名稱:
type UserModel struct { FirstName string `gorm:"column:first_name"` LastName string `gorm:"column:last_name"`}
有關(guān)詳細(xì)信息,請參閱 https://gorm.io/docs/models.html#Conventions。
- 1 回答
- 0 關(guān)注
- 67 瀏覽
添加回答
舉報(bào)
0/150
提交
取消