package Account import ( _ "github.com/astaxie/beego/cache/redis" "github.com/beego/beego/v2/adapter/orm" orm2 "github.com/beego/beego/v2/client/orm" _ "github.com/go-sql-driver/mysql" "time" ) type Company struct { Id int `orm:"column(ID);size(11);auto;pk"` T_mid int `orm:"size(200);null"` // 上一级 ID T_name string `orm:"size(256);null"` // 公司名称 T_uids string `orm:"size(256);null"` // 绑定用户 Uid| 如:U1|U2| T_State int `orm:"size(200);1"` // 0删除 1 正常 CreateTime time.Time `orm:"column(create_time);type(timestamp);null;auto_now_add"` //auto_now 每次 model 保存时都会对时间自动更新 UpdateTime time.Time `orm:"column(update_time);type(timestamp);null;auto_now"` //auto_now_add 第一次保存时才设置时间 } func (t *Company) TableName() string { return "Company" // 数据库名称 // ************** 替换 FormulaList ************** } func init() { //注册模型 orm.RegisterModel(new(Company)) } // ---------------- 特殊方法 ------------------- // 获取列表 func Read_Company_List_All() (maps []Company) { o := orm.NewOrm() // 也可以直接使用 Model 结构体作为表名 qs := o.QueryTable(new(Company)) //cond := orm.NewCondition() //cond1 := cond.And("T_State", 1) // .AndNot("status__in", 1).Or("profile__age__gt", 2000) //qs.SetCond((*orm2.Condition)(cond1)).OrderBy("-Id").All(&maps) //cnt, _ = qs.SetCond((*orm2.Condition)(cond1)).Count() qs.All(&maps) return maps } // 获取列表 func Read_Company_List_All_ByT_name(T_name string) (maps []Company) { o := orm.NewOrm() // 也可以直接使用 Model 结构体作为表名 qs := o.QueryTable(new(Company)) cond := orm.NewCondition() cond1 := cond.And("T_name__icontains", T_name) qs.SetCond((*orm2.Condition)(cond1)).All(&maps) return maps } // {"Id":"T_name"} func CompanyListToMap(C []Company) map[int]string { maps := make(map[int]string, len(C)) for _, v := range C { maps[v.Id] = v.T_name } return maps }