beego models struct 如何设置默认值?

发布于 2022-09-12 22:08:33 字数 821 浏览 22 评论 0

以下代码中,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
}```

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

你在我安 2022-09-19 22:08:33

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(),
    }
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文