标签: sequelize-hooks

为什么sequelize beforeUpdate 钩子不起作用?

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

User.beforeCreate(setSaltAndPass)
User.beforeUpdate(setSaltAndPass)
Run Code Online (Sandbox Code Playgroud)

第一个工作完美,但 beforeUpdate 不运行,根据文档,执行以下命令应该没有问题

await User.update(user, {
             where: {
               id
             }

         })
Run Code Online (Sandbox Code Playgroud)

将密钥保存为纯文本,例如在创建时不会发生这种情况。奇怪的是beforeBulkUpdate是在更新的时候执行的。

这是回调,详细信息是我没有更改的属性,或者至少我不知道如何访问它。

const setSaltAndPass = user => {
   if (user.changed('pass')) {
     user.salt = User.generateSalt()
     user.pass = User.encriptPass(user.pass(), user.salt())
   }
}
Run Code Online (Sandbox Code Playgroud)

完成它的工作,但钩子它没有执行。

javascript node.js express sequelize.js sequelize-hooks

9
推荐指数
2
解决办法
8346
查看次数