| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596 | package modelsimport (	"github.com/astaxie/beego/orm"	"github.com/lifei6671/godoc/conf")// Option struct .type Option struct {	OptionId int		`orm:"column(option_id);pk;auto;unique;" json:"option_id"`	OptionTitle string	`orm:"column(option_title);size(500)" json:"option_title"`	OptionName string	`orm:"column(option_name);unique;size(80)" json:"option_name"`	OptionValue string	`orm:"column(option_value);type(text);null" json:"option_value"`	Remark string		`orm:"column(remark);type(text);null" json:"remark"`}// TableName 获取对应数据库表名.func (m *Option) TableName() string {	return "options"}// TableEngine 获取数据使用的引擎.func (m *Option) TableEngine() string {	return "INNODB"}func (m *Option)TableNameWithPrefix() string {	return conf.GetDatabasePrefix() +  m.TableName()}func NewOption() *Option  {	return &Option{}}func (p *Option) Find(id int) (*Option,error) {	o := orm.NewOrm()	p.OptionId = id	if err := o.Read(p);err != nil {		return p,err	}	return  p,nil}func (p *Option) FindByKey(key string) (*Option,error) {	o := orm.NewOrm()	p.OptionName = key	if err := o.Read(p);err != nil {		return p,err	}	return  p,nil}func GetOptionValue(key, def string) string {	if option,err := NewOption().FindByKey(key); err == nil {		return option.OptionValue	}	return def}func (p *Option) InsertOrUpdate() error  {	o := orm.NewOrm()	var err error	if p.OptionId > 0 {		_,err = o.Update(p)	}else{		_,err = o.Insert(p)	}	return err}func (p *Option) InsertMulti(option... Option )  (error){	o := orm.NewOrm()	_,err := o.InsertMulti(len(option),option)	return err}func (p *Option) All() ([]*Option,error)  {	o := orm.NewOrm()	var options []*Option	_,err := o.QueryTable(p.TableNameWithPrefix()).All(&options)	if err != nil {		return options,err	}	return options,nil}
 |