| | |
| | | PageSize int |
| | | Orm *gorm.DB |
| | | Keyword string |
| | | IDs []uint |
| | | } |
| | | ) |
| | | |
| | |
| | | slf.ID = id |
| | | return slf |
| | | } |
| | | |
| | | func (slf *AttributeSearch) SetIDs(ids []uint) *AttributeSearch { |
| | | slf.IDs = ids |
| | | return slf |
| | | } |
| | | func (slf *AttributeSearch) SetName(name string) *AttributeSearch { |
| | | slf.Name = name |
| | | return slf |
| | |
| | | if slf.ID != 0 { |
| | | db = db.Where("id = ?", slf.ID) |
| | | } |
| | | |
| | | if len(slf.IDs) != 0 { |
| | | db = db.Where("id in ?", slf.IDs) |
| | | } |
| | | if slf.Order != "" { |
| | | db = db.Order(slf.Order) |
| | | } |
| | |
| | | db = db.Where("name = ?", slf.Name) |
| | | } |
| | | if slf.Keyword != "" { |
| | | db = db.Where("id like ? or data_type like ? or entity_type like ?", fmt.Sprintf("%%%v%%", slf.Keyword), fmt.Sprintf("%%%v%%", slf.Keyword), fmt.Sprintf("%%%v%%", slf.Keyword)) |
| | | db = db.Where("id like ? or data_type like ? ", fmt.Sprintf("%%%v%%", slf.Keyword), fmt.Sprintf("%%%v%%", slf.Keyword)) |
| | | } |
| | | |
| | | return db |