在使用ThinkJS搭建后台时通过时间段查询数据报错的解决方案

在一些朋友除此使用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);

执行代码,这时候我们会发现后台报错,如下图:

error

我们会发现错误的原因是在进行范围查询的时候第二条查询条件为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);

true;

问题完美解决。

另外向大家安利下阿特大神开发的CmsWing,这是一款非常牛的一款CMS建站系统,最重要的是完全开源,希望更多的友友可以多多入坑!

查看更多精彩文章,请点击进入我的个人博客

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值