在项目中根据当前时间,gropID等字段查询列表,但是部署到沙箱后测接口发现输入的body字段全部失效,查询xorm的sql没问题,代码如下:
session := dao.DBDao().GetSlaveDB().Where("group_id = ?",req.Id).And("date = ?",req.date)
total,err := And("name = ?" ,req.name).Count(dao.DB{})
err = Limit(pagesize,num).Find(&response)
return respose
通过日志发现FInd的语句缺少Where条件。
解决:
发现Count会打断前置的where条件,使得后续的语句中缺失Where。
通过抽取两个session平行进行相关的查询,不进行串联查询。
问题解决。