我正在与 https://github.com/jinzhu/gorm 合作图书馆。由于某种原因,我无法访问我期望存在的某些字段。这些特定字段中有下划线。例如,当我尝试访问 SpeName 时,它不会失败,但也不会给我一个字符串
type Specialties struct {
SpeId int64
SpeName string
Conditions sql.NullString
ParentId sql.NullInt64
Hidden sql.NullInt64
}
func IsFolderNameASpecialty(folderName string) models.Specialties {
var sSpecialty models.Specialties
for _, specialty := range Specialties {
fmt.Println(strings.ToLower(folderName), specialty.SpeName)
if strings.ToLower(folderName) == strings.ToLower(specialty.SpeName) {
sSpecialty = specialty
}
}
return sSpecialty
}
由于某种原因 println 是空的。 mysql 字段实际上是 spe_Name
而不是 SpeName
。我应该使用什么标签才能正确访问该字段?
最佳答案
根据https://github.com/jinzhu/gorm#existing-schema ,您想在结构类型标记中使用 column:
。
type Specialties struct {
// ...
SpeName string `gorm:"column:spe_Name"`
// ...
}
关于mysql - 使用下划线从 golang 结构体访问 mysql 字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28573167/