zhangqian
2024-04-16 71288e85afbfc7ac12d5060feb1d29aa139513d6
models/material.go
@@ -109,6 +109,7 @@
      Orm         *gorm.DB
      CategoryIds []int
      Preload     bool
      Fields      string
   }
   IdAndName struct {
@@ -258,6 +259,11 @@
   return slf
}
func (slf *MaterialSearch) SetFields(fields string) *MaterialSearch {
   slf.Fields = fields
   return slf
}
func (slf *MaterialSearch) build() *gorm.DB {
   var db = slf.Orm.Table(slf.TableName())
@@ -322,6 +328,10 @@
   }
   if len(slf.CategoryIds) > 0 {
      db = db.Where("category_id in ?", slf.CategoryIds)
   }
   if slf.Fields != "" {
      db = db.Select(slf.Fields)
   }
   if slf.Preload {
@@ -611,3 +621,11 @@
   return nil
}
func MaterialMap(records []*Material) (m map[string]*Material) {
   m = make(map[string]*Material, len(records))
   for _, record := range records {
      m[record.ID] = record
   }
   return m
}