不起作用"/>
Sequelize映射在使用max和col时不起作用
我正在使用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:'字段列表'中的未知列'startTime']
在这种情况下如何使用映射并且没有错误?
谢谢
回答如下:映射不起作用,因为您正在将max
和min
映射到同一列maxdateallowed
。对于min
,请将其映射为min dateallowed(mindateallowed
)
return Signals.findAll({
attributes: [
[Sequelize.fn('max', Sequelize.col('signaldate')), 'maxdateallowed'],
[Sequelize.fn('min', Sequelize.col('signaldate')), 'mindateallowed']
]
})
更多推荐
Sequelize映射在使用max和col时不起作用
发布评论