我正在使用 sequelize 5.21.8 并且我必须计算列的最小值和最大值,所以我使用 fn.min
和 fn.max
。
我的映射是这样的
startTime: {
field:'signaldate',
type: Sequelize.DATE
} ,
对于该列,我的查询是
return Signals.findAll({
attributes:[
[Sequelize.fn('max', Sequelize.col('signaldate')), 'maxdateallowed'],
[Sequelize.fn('min', Sequelize.col('signaldate')), 'maxdateallowed']
]
})
问题是我必须在
Sequelize.fn('max'
的 Sequelize.col
部分中使用原始列名。查询有效,但映射无效。如果我使用在映射中设置的
startTime
,就像这样 [Sequelize.fn('max', Sequelize.col('startTime')), 'maxdateallowed'],
然后我得到一个错误
SequelizeDatabaseError: Unknown column 'startTime' in 'field list'
在这种情况下如何使用映射而不出现错误?
谢谢
最佳答案
您可以使用以下 Git 问题中提到的解决方案作为解决方法,目前尚无永久性修复。
https://github.com/sequelize/sequelize/issues/10732
这个问题是 sequalize.col()
的通用问题,而不是 'max'
和 'min'
特有的。
关于mysql - Sequelize 映射不能使用 max 和 col,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61911789/