gpt4 book ai didi

javascript - 为什么 Sequelize beforeUpdate 钩子(Hook)不起作用?

转载 作者:行者123 更新时间:2023-12-03 22:18:20 57 4
gpt4 key购买 nike

我有一个带有 2 个 Hook 的简单用户模型。

User.beforeCreate(setSaltAndPass)
User.beforeUpdate(setSaltAndPass)
第一个完美运行,但 beforeUpdate 没有运行,根据文档,执行以下操作应该没有问题
await User.update(user, {
where: {
id
}

})
将 key 保存为纯文本,例如创建时不会发生这种情况。奇怪的是 beforeBulkUpdate 在更新时执行。
这是回调,详细信息是批量我没有更改的属性,或者至少我不知道如何访问它。
const setSaltAndPass = user => {
if (user.changed('pass')) {
user.salt = User.generateSalt()
user.pass = User.encriptPass(user.pass(), user.salt())
}
}
做它的工作,但钩它没有被执行。

最佳答案

我刚才在 TS 中遇到了同样的问题。原来,@BeforeUpdate钩子(Hook)被触发,当你第一次找到一条记录然后更新它时:

await Model.findOne(options).then((result) => { 
result.update(options);
});
如果您更喜欢 Model.update(...)方法,您可以使用 @BeforeBulkUpdate取而代之的是钩子(Hook)。
在此处找到此信息: https://github.com/sequelize/sequelize/issues/6253
这对我有用,希望它有帮助!

关于javascript - 为什么 Sequelize beforeUpdate 钩子(Hook)不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64412802/

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