gorm对多个or条件查询封装:
// w 的key 为要查询的字段 []string为查询内容
func Where(w map[string][]string) func(db *gorm.DB) *gorm.DB {
var likeWhere string
for k, val := range w {
for _, v := range val {
likeWhere += k + ` like "%` + v + `%" or `
}
}
// 去除尾部or
likeWhere = likeWhere[:len(likeWhere)-3]
return func(db *gorm.DB) *gorm.DB {
return db.Where(likeWhere)
}
}
