属于未在数据透视表上包含创建的许多关系

时间:2019-04-09 05:18:19

标签: sequelize.js

尝试创建具有关联用户角色的用户,但只有用户正在创建。

这是我的代码:

try {
            const Role = User.belongsToMany(RoleModel, { as: 'roleUser', through: 'user_role', foreignKey: 'user_id', otherKey: 'role_id' });
            const { error, value } = UserCreatePolicy.validate(req);

            if (error) {
                throw error;
            } 

            const userRole = await RoleModel.findByPk(req.body.role_id);

            const user = await User.create({
                name: req.body.name,
                address: req.body.address,
                phone: req.body.phone,
                email: req.body.email,
                password: req.body.password,
                roleUser: userRole.toJSON()
            }, {
                include: [ Role ]
            });

            res.json(user);

        } catch (error) {
            console.dir(error);
            res.status(400).json({
                error
            });
        }

这不会为user_role表创建任何关联数据,定义定义关系以创建关联的意义何在。

0 个答案:

没有答案