1

我正在将 Express 应用程序升级到 Feathersjs 应用程序。对于 belongs_to_many 关联,我有以下模型定义:

A类(用户组):

  userGroup.associate = function (models) { 
    models.user_group.belongsToMany(models.permission, {through: 'user_group_permission'});
  };

B类(许可):

  permission.associate = function (models) { 
    models.permission.belongsToMany(models.user_group, {through: 'user_group_permission'});
  };

有了这个定义,我们就可以创建一个组并使用该addPermission/addPermissions方法将权限关联到一个组。

以下代码旨在将权限与组关联

      newGroup = await Model.create({
        groupName: data.groupName
      });
      newGroup.addPermissions(plist);

其中Model是 UserGroup 模型类的变量,并且plist是权限列表。

此代码编写在feathers generate service命令生成的服务类中。按照这个建议,我覆盖了 create 方法。目标是使用创建组端点中提供的权限列表。

结果是这个:

拒绝

在下图中我们可以看到异常的原因 堆栈跟踪

如果使用 Express 应用程序相同的代码可以正常工作,那么模型定义有什么问题?

4

0 回答 0