我有一个表用户和用户组,用户组和用户之间有一个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(来修复。
创建一个新的表成员资格,并添加钩子,每当将新用户添加到用户组时都会捕获。
将用户添加到用户组时,将创建新的成员资格。