mysql - 使用下划线从 golang 结构体访问 mysql 字段

标签 mysql go

我正在与 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/

相关文章:

php - 仅在经过一段时间后才运行网站 php 脚本

php - JavaScript 和 PHP (window.open)

mysql - 选择具有相同外键但另一列具有一组值的行

php - 需要在插入第一个表时更新第二个表

go - 有没有一种方法可以在多个处理程序中使用相同的request.Body,而无需手动编写大量代码,或者我需要更改执行此操作的方式?

go - golang 中的事件驱动模式

mysql - 是否可以访问 Vapor 中连接表中的字段?

go - 通过设置 Local 在 go 中全局设置时区

go - 无法在 main 以外的包内调用测试

json - 如何解析 Unmarshaled 结构中的引用