从 json unmarshal 输入断言二维接口数组的更简单方法

如果您检查错误,Invalid object name 'currencies'它会尝试查找名为 的表currencies。默认情况下,gorm 将表名称复数。如果您想要自定义表名称,可以如下定义:


func (Currency) TableName() string {

    return "currency"

}

或者您可以使用以下命令全局禁用它:


db.SingularTable(true)

所以你的样本应该是这样的:


type Currency struct {

    CurrencyId  int

    Code        string

    Description string

    CreateDate  time.Time

}


func (Currency) TableName() string {

    return "currency"

}



func main() {

    db, err := gorm.Open("mssql", "sqls*******talog=dbo")


    db.SingularTable(true)


    fmt.Println("db.HasTable: Currency:", db.HasTable("ClientUser"))


    var Currency []Currency 


    db.Find(&Currency)


    ....

}


梦里花落0921
浏览 87回答 1
1回答

弑天下

解决方案一:您需要在空的 interface{} 类型上应用两次断言。https://play.golang.org/p/AeV6_fC3vYI
打开App,查看更多内容
随时随地看视频慕课网APP