package model import ( "SciencesServer/app/common/model" "SciencesServer/serve/orm" "fmt" ) type SysAbout struct { *model.SysAbout } type SysAboutInfo struct { *model.SysAbout model.Area } func (m *SysAbout) About(where ...*model.ModelWhere) ([]*SysAboutInfo, error) { db := orm.GetDB().Table(m.TableName()+" AS a"). Select("a.id", "a.parent_id", "a.title", "t.province", "t.city"). Joins(fmt.Sprintf("LEFT JOIN %s AS t ON a.tenant_id = t.id", model.NewSysTenant().TableName())). Where("a.is_deleted = ?", model.DeleteStatusForNot) if len(where) > 0 { for _, v := range where { db = db.Where(v.Condition, v.Value) } } out := make([]*SysAboutInfo, 0) if err := db.Order("a.sort " + model.OrderModeToAsc).Order("a.id " + model.OrderModeToDesc).Scan(&out).Error; err != nil { return nil, err } return out, nil } func NewSysAbout() *SysAbout { return &SysAbout{model.NewSysAbout()} }