Sequelize JS建筑协会

 mobiledu2502912677 发布于 2023-02-13 14:20

我正在使用sequelizejs和postgres构建用户和角色关联.每个用户可以拥有一个角色,每个角色都属于许多用户.

我已经设置了这样的关联

global.db.User.belongsTo(global.db.Role, {foreignKey: 'role_id', as: 'Role'});

global.db.Role.hasMany(global.db.User, {foreignKey: 'role_id'});

现在,当我在app.js中设置对象并同步sequelize时,它不起作用:

var role = Role.build({ name: 'foo', permissions: 'bar'});
var user = User.build({username: 'sultansaadat', email: 'abc@abc.com', password: 'sultan123', isActive: true});
db.sequelize.sync().complete(function (err) {
if (err) {
    throw err
} else {
    role.save();
    user.setRole(role);
    user.save();
}

});

我期待sequelize表现得像所有正常的ORM一样,但我认为这里有问题,或者我做错了什么.

1 个回答
  • 究竟什么不起作用?

    node.js,因此sequelize本质上也是异步的.当您调用role.save时,该调用将在数据库实际返回之前返回.在将角色分配给用户之前,您必须等待保存角色并分配ID.

    role.save().done(function (err, role) {
        user.save().done(function (err, user) {
            user.setRole(role);
        });
    });
    

    2023-02-13 14:23 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有