在一些朋友除此使用ThinkJS搭建Node后台时通过时间段进行数据查询的时候可能会遇到后台报错的问题,问题的原因一般是数据库查询条件部分为
undefined
,下面我们来看具体案例。
问题
例如当我们需要通过时间段查询taolist
这张表的数据是,在控制器中的代码如下:
let formVal = this.post(); //获取form表单提交过来的数据
let model = this.model('taolist');//初始化模型
let taolist = await model.where({'date':['between',formVal.timeStart,formVal.timeEnd]}).select();
console.log(taolist);
执行代码,这时候我们会发现后台报错,如下图:
我们会发现错误的原因是在进行范围查询的时候第二条查询条件为undefined
,只需要解决这个问题就可以万事大吉了。
解决方法
这里要特别感谢下CmsWing的开发者阿特大神给我提供了解决方法,再次感谢!其实我们只需要把代码改为下面这样就可以了:
let formVal = this.post(); //获取form表单提交过来的数据
let model = this.model('taolist');//初始化模型
let taolist = await model.where({'date':['between',`${formVal.timeStart},${formVal.timeEnd}`]}).select();
console.log(taolist);
;
问题完美解决。
另外向大家安利下阿特大神开发的CmsWing,这是一款非常牛的一款CMS建站系统,最重要的是完全开源,希望更多的友友可以多多入坑!
查看更多精彩文章,请点击进入我的个人博客