beego models struct 如何设置默认值?

以下代码中,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
}```
阅读 3.1k
1 个回答

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(),
    }
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题