我的的查询为:
controller
// 接收query 的参数
func Index(c *gin.Context){
name:=c.DefaultQuery(xxxx,"") // 这里的query 会有不同的参数
age:=c.DefaultQuery(xxxx,"") // 这里的query 会有不同的参数
time:=c.DefaultQuery(xxxx,"") // 这里的query 会有不同的参数
whereStr:="name and ? age >? time < ?" //构建sql 语句
UserServie.Find(whereStr,name,age,time) // 执行查询
}
service
func Find(where interface{},parm ...interface{})(list []model.UserModel){
db.where(where,parm).Find(&list)
return list
}
我的问题出现在了controller 中
我不知道如何构建灵活的查询条件
比如前端会get
很多的参数过来,比如姓名
、年龄
、时间
或者他只get
、姓名
、时间
这样我这里的构建就很麻烦了,也不优雅
请问各位遇到这种情况是如果构建的? map?
1、接收所有参数 并返回为
map
2、gorm 构建复杂
where