首页 > 解决方案 > 使用多个 Sequelize.fn?

问题描述

我看到很多例子,例如:

Model.findAll({
  attributes: [[sequelize.fn('COUNT', sequelize.col('hats')), 'no_hats']]
});

但是假设您需要使用除 'COUNT' 之外的另一个函数,例如sequelize.fn('LOWERCASE'...or sequelize.fn('UNIQUE'...。有没有办法一次使用多个sequelize.fn

更新

我正在寻找一种可以让我同时使用两个函数的语法findAll()......可能类似于:

Model.findAll({
  attributes: [[sequelize.fn(['LOWERCASE','UNIQUE'], sequelize.col('hats'))]
});

标签: postgresqlsequelize.js

解决方案


我认为你可以这样做

Model.findAll({
   attributes: [
            [sequelize.fn('COUNT', sequelize.col('hats')), 'no_hats'],
            [sequelize.fn('LOWERCASE', sequelize.col('name')), 'name'],
            [Sequelize.literal('COUNT(DISTINCT(hats))'), 'no_hats']
        ]
});

推荐阅读