问答

beego models struct 如何设置默认值?

作者:admin 2021-05-07 我要评论

以下代码中,struct里 我需要做插入操作时,CreateAt 这个字段想让以数据库默认值的方式写入 如何设置? import ( "fmt" "github.com/astaxie/beego/orm")type P...

在说正事之前,我要推荐一个福利:你还在原价购买阿里云、腾讯云、华为云服务器吗?那太亏啦!来这里,新购、升级、续费都打折,能够为您省60%的钱呢!2核4G企业级云服务器低至69元/年,点击进去看看吧>>>)

以下代码中,struct里 我需要做插入操作时,CreateAt 这个字段想让以数据库默认值的方式写入 如何设置?


import (
    "fmt"
    "github.com/astaxie/beego/orm"
)

type ProjectUsers struct {
    Id int
    ProjectId int
    UserId int
    Amount float64
    StartedAt string
    EarningAmount float64
    Status int
    BtcEarning float64
    CreateAt string
}

func init() {
    orm.RegisterModel(new(ProjectUsers))
}

// 写入
func InsertOrder(projectId,userId int,availableHours string, money float64) (int64, bool) {
    o := orm.NewOrm()
    var data ProjectUsers
    data.ProjectId = projectId
    data.UserId = userId
    data.Amount = money
    data.StartedAt = availableHours
    resId,err := o.Insert(&data)
    fmt.Println(err)
    if err == nil && resId > 0{
        return resId,true
    }

    return 0,false
}```
###

new一个带默认值的对象就好了,不需要反射来实现。

func InsertOrder(projectId,userId int,availableHours string, money float64) (int64, bool) {
    o := orm.NewOrm()
    data := NewProjectUsers
    ...
}

func NewProjectUsers() ProjectUsers {
    return ProjectUsers{
        Status:   100,
        CreateAt: time.Now().String(),
    }
}

版权声明:本文转载自网络,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本站转载出于传播更多优秀技术知识之目的,如有侵权请联系QQ/微信:153890879删除

相关文章
  • beego models struct 如何设置默认值?

    beego models struct 如何设置默认值?

  • TypeScript不允许真假进行计算吗?

    TypeScript不允许真假进行计算吗?

  • 视屏怎么只播放前几分钟,类似爱奇艺试

    视屏怎么只播放前几分钟,类似爱奇艺试

  • 非浏览器环境, 百度网站统计 能否模拟

    非浏览器环境, 百度网站统计 能否模拟

腾讯云代理商
海外云服务器