在环回中,我们如何在模型的保存钩子中找到相关数据?



我有一个表用户和用户组,用户组和用户之间有一个hasAndBelongsToMany关系。 如果我通过向用户组添加一个用户来更新它,那么我想比较并找出在保存之前添加的新用户

module.exports = function (UserGroup, Model) {
UserGroup.observe('before save', async function (ctx, next) {
const userData = await UserGroup.find({
filter: {
where: {
id: ctx.currentInstance.id
}
},
include: {
relation: 'users',
scope: {
include: ['userGroups']
}
},
limit: 1
})
console.log(userData)
return next()
})
}

userData 包括新修补的用户,而它应该只显示之前组中的用户

这可以通过使用hasManyThrough关系(https://loopback.io/doc/en/lb3/HasManyThrough-relations.html(来修复。

创建一个新的表成员资格,并添加钩子,每当将新用户添加到用户组时都会捕获。

将用户添加到用户组时,将创建新的成员资格。

最新更新