Gorm: 从mysql获取十进制字段值时获取全0

创建于 2018-05-10  ·  3评论  ·  资料来源: go-gorm/gorm

当我使用 gorm 从 mysql 获取十进制字段值时,无论这个结构 dield 类型是 float32,float64 还是 shopspring/decimal,它都会得到 0

您使用的是哪个版本的 Go ( go version )?

转到版本 go1.8.3 linux/amd64

您使用的是哪个数据库及其版本?

mysql 5.6.23

楷模:

package main

import (
    "log"
    "github.com/shopspring/decimal"
)

func main() {
    month := "201805"
    t := "2018-05-07"
    companyUser, _ := CompanyUserRepo.GetDaily(month, t)
    for _, cu := range companyUser {
        log.Println(cu.Ks3Storage)
    }
}

type CompanyUser struct {
    Ks3Storage float64  // or float32 or decimal.Decimal
}

var CompanyUserRepo = new(CompanyUser)

func (*CompanyUser) GetDaily(month string,
    date string) ([]*CompanyUser, error) {

    var cs []*CompanyUser
    table := "company_user_201805"
    err := db.LogMode(true).Table(table).Where("stat_date=?",
        date).Find(&cs).Error
    if err != nil {
        return nil, err
    }
    return cs, nil
}

那么输出总是0,不管实际值是什么。

我在这里做错了什么? 或者我应该怎么做?

gorm_v1

最有用的评论

@jinzhu确认有这种支持会很好也很有用!

所有3条评论

@jinzhu ,please!

@jinzhu确认有这种支持会很好也很有用!

这个问题会自动关闭,因为它被标记为GORM V1问题,我们已经发布了公开测试的GORM V2版本及其文档https://v2.gorm.io/docs/ ,测试版本已经在一些生产中使用服务有一段时间了,接下来几周会发布最终版本,我们还在积极收集之前的反馈,有任何建议或问题请开新 issue,谢谢

另请查看https://github.com/go-gorm/gorm/wiki/GORM-V2-Release-Note-Draft了解如何使用公共测试版本及其变更日志

此页面是否有帮助?
0 / 5 - 0 等级

相关问题

satb picture satb  ·  3评论

littletwolee picture littletwolee  ·  3评论

pjebs picture pjebs  ·  3评论

alanyuen picture alanyuen  ·  3评论

superwf picture superwf  ·  3评论