gpt4 book ai didi

node.js - Sequelize Hook before create 找到最后创建的字段值并增加新值+1

转载 作者:行者123 更新时间:2023-12-03 22:43:28 25 4
gpt4 key购买 nike

我使用 sequelize 并且我有看起来像这样的表格。

id uploadedFileID flowSectionID flowID position createdAt updatedAt

我想当我在表上创建新数据时检查是否有一行,找到flowID:1的位置(示例),然后取该字段的最后一个值的位置,如果是flowID的新数据:1
然后将位置增加到 1,但如果有一行(文件)的 flowID:1 取最后一个值“1”,然后取我创建的新行并将新行“位置”字段设置为 2。

我的型号:
'use strict';
module.exports = (sequelize, DataTypes) => {
const FlowSectionsUploadedFiles = sequelize.define('FlowSectionsUploadedFiles', {
uploadedFileID: DataTypes.INTEGER,
flowSectionID: DataTypes.INTEGER,
flowID: DataTypes.INTEGER,
position: DataTypes.INTEGER
}, {
hooks: {
beforeCreate: (instance, options) => {

}
}
});
FlowSectionsUploadedFiles.associate = function(models) {
};
return FlowSectionsUploadedFiles;
};

我怎么勾这个??谢谢 !!

最佳答案

 hooks: {
beforeCreate: async (instance) => {
const files = await FlowSectionsUploadedFiles.findAll({
where: { flowID: instance.dataValues.flowID },
raw: true
});
if (files.length === 0) {
instance.position = 1;
} else {
const position = [];
files.map(file => {
position.push(file.position);
});
let max = Math.max.apply(null, position);
instance.position = max + 1;
}
}
}

关于node.js - Sequelize Hook before create 找到最后创建的字段值并增加新值+1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60636757/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com