我定义了以下模型:
const Project = sequelize.define('project', {
version: {
type: DataTypes.STRING,
field: Sequelize.fn('concat', Sequelize.col('version_major'), '.', Sequelize.col('version_minor'))
}
});
然后我试图用以下参数执行 findAll
:
myProjectModel.findAll({
where: { version: '2.0' },
attributes: ['version']
});
但是我收到以下错误:
SequelizeDatabaseError: Unknown column '[object Object]' in 'where clause`
但是,如果我删除where子句,该属性工作正常 . Sequelize正在select子句中正确翻译字段,但在where子句中输入错误:
SELECT concat(`version_major`, '.', `version_minor`) AS `version` FROM `project` WHERE `project`.`[object Object]` IN ('2.0');
有任何想法吗? getterMethods
不适用于 findAll
方法 .
1 回答
我认为在插入之前你需要的是
setter
方法: