我正在尝试使用数据库。我被建议使用Gorm,但是,由于某些方法不起作用,因此很烦人。对于模型,我有:type UserModel struct {
first_name string
last_name string
}这是我的示例代码及其结果。下面的代码有效,但在我的数据库中,表名是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贡献1852条经验 获得超1个赞
您的两个字段“first_name”和“last_name”(两者都不遵循 Go 命名建议)是未导出的,因为它们以小写字母开头。这意味着Gorm不关注这些领域。
我建议使用以下方法,它将使用Gorm推荐的结构标签实现您想要的字段名称:
type UserModel struct {
FirstName string `gorm:"column:first_name"`
LastName string `gorm:"column:last_name"`}有关详细信息,请参阅 https://gorm.io/docs/models.html#Conventions。
- 1 回答
- 0 关注
- 101 浏览
添加回答
举报
0/150
提交
取消
