在Loopback中,如何在模型的之前保存挂钩中找到相关数据?

问题描述 投票:0回答:1

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

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包括新修补的用户,而它应该只显示以前在该组中的用户

node.js hook loopback before-save
1个回答
0
投票

可以通过使用hasManyThrough关系(https://loopback.io/doc/en/lb3/HasManyThrough-relations.html)来解决此问题>

创建新的表成员资格,并添加在新用户添加到userGroup时捕获的钩子。

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

© www.soinside.com 2019 - 2024. All rights reserved.