最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

Sequelize映射在使用max和col时不起作用

网站源码admin50浏览0评论

Sequelize映射在使用max和col时不起作用

Sequelize映射在使用max和col时不起作用

我正在使用sequelize 5.21.8,并且我必须计算列的最小值和最大值,因此我使用fn.minfn.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']

在这种情况下如何使用映射并且没有错误?

谢谢

回答如下:

映射不起作用,因为您正在将maxmin映射到同一列maxdateallowed。对于min,请将其映射为min dateallowed(mindateallowed

return Signals.findAll({
    attributes: [
        [Sequelize.fn('max', Sequelize.col('signaldate')), 'maxdateallowed'],
        [Sequelize.fn('min', Sequelize.col('signaldate')), 'mindateallowed']
    ]
})
发布评论

评论列表(0)

  1. 暂无评论