mirror of
https://github.com/astaxie/beego.git
synced 2025-07-12 21:41:01 +00:00
now object crud is simple
This commit is contained in:
@ -51,52 +51,3 @@ func newInsertSet(orm *orm, mi *modelInfo) (Inserter, error) {
|
||||
bi.stmt = st
|
||||
return bi, nil
|
||||
}
|
||||
|
||||
type object struct {
|
||||
ind reflect.Value
|
||||
mi *modelInfo
|
||||
orm *orm
|
||||
}
|
||||
|
||||
func (o *object) Insert() (int64, error) {
|
||||
id, err := o.orm.alias.DbBaser.Insert(o.orm.db, o.mi, o.ind)
|
||||
if err != nil {
|
||||
return id, err
|
||||
}
|
||||
if id > 0 {
|
||||
if o.mi.fields.auto != nil {
|
||||
o.ind.Field(o.mi.fields.auto.fieldIndex).SetInt(id)
|
||||
}
|
||||
}
|
||||
return id, nil
|
||||
}
|
||||
|
||||
func (o *object) Update() (int64, error) {
|
||||
num, err := o.orm.alias.DbBaser.Update(o.orm.db, o.mi, o.ind)
|
||||
if err != nil {
|
||||
return num, err
|
||||
}
|
||||
return num, nil
|
||||
}
|
||||
|
||||
func (o *object) Delete() (int64, error) {
|
||||
num, err := o.orm.alias.DbBaser.Delete(o.orm.db, o.mi, o.ind)
|
||||
if err != nil {
|
||||
return num, err
|
||||
}
|
||||
if num > 0 {
|
||||
if o.mi.fields.auto != nil {
|
||||
o.ind.Field(o.mi.fields.auto.fieldIndex).SetInt(0)
|
||||
}
|
||||
}
|
||||
return num, nil
|
||||
}
|
||||
|
||||
func newObject(orm *orm, mi *modelInfo, md Modeler) ObjectSeter {
|
||||
o := new(object)
|
||||
ind := reflect.Indirect(reflect.ValueOf(md))
|
||||
o.ind = ind
|
||||
o.mi = mi
|
||||
o.orm = orm
|
||||
return o
|
||||
}
|
||||
|
Reference in New Issue
Block a user