我正在将 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 应用程序相同的代码可以正常工作,那么模型定义有什么问题?