我在 Sequelize 中有一个带有两个日期列的表 - 即:

var Visit = sequelize.define("Visit", { 
  /*...*/ 
  scheduleEndDate: { 
    type: DataTypes.DATE 
  } 
  actualEndDate: { 
    type: DataTypes.DATE 
  } 
  /*...*/ 
}); 

我想进行一个查询,该查询返回实际结束日期在 scheduleEndDate 之前的行 - 并且无法获得正确的格式。我为 where 所做的尝试我的一部分 findAll查询是:
where: { actualEndDate: { lt: Visit.scheduleEndDate } } 

- 抛出错误,因为未定义访问(也尝试过 this.scheduleEndDate - 也抛出错误)
where: { actualEndDate: '< scheduleEndDate' } 

- 将 actualEndDate 与字符串 '< scheduleEndDate' 进行字符串比较

我是否需要定义一个实例方法来进行日期比较/如何最好地解决?

请您参考如下方法:

这应该是可能的

where: { actualEndDate: { $lt: sequelize.col('scheduleEndDate') } } 


评论关闭
IT干货网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!