| | |
| | | PageSize int |
| | | Orm *gorm.DB |
| | | Fields string |
| | | Ids []string |
| | | } |
| | | ) |
| | | |
| | |
| | | return slf |
| | | } |
| | | |
| | | func (slf *WorkerSearch) SetIds(ids []string) *WorkerSearch { |
| | | slf.Ids = ids |
| | | return slf |
| | | } |
| | | |
| | | func (slf *WorkerSearch) build() *gorm.DB { |
| | | var db = slf.Orm.Table(slf.TableName()) |
| | | |
| | |
| | | } |
| | | |
| | | if slf.Keyword != "" { |
| | | db.Joins("WorkerSkill") |
| | | db = db.Where("worker.name LIKE ? or worker.phone_num LIKE ? or WorkerSkill.name like ?", "%"+slf.Keyword+"%", "%"+slf.Keyword+"%", "%"+slf.Keyword+"%") |
| | | db = db.Where("worker.name LIKE ? or worker.phone_num LIKE ? ", "%"+slf.Keyword+"%", "%"+slf.Keyword+"%") |
| | | } |
| | | |
| | | if slf.Status > 0 { |
| | |
| | | db = db.Select(slf.Fields) |
| | | } |
| | | |
| | | if len(slf.Ids) > 0 { |
| | | db = db.Where("id in (?)", slf.Ids) |
| | | } |
| | | |
| | | return db |
| | | } |
| | | |