使用" HasMany"创建元素协会不起作用

时间:2015-11-13 08:49:46

标签: javascript node.js sequelize.js

我有两个型号:

我尝试使用权限创建大量角色

function createRoles(models, cb) {

    var tree = _.map(data.Roles, function (perms, role) {
        return {
            name: role,
            perms: _.map(perms, function (perm) {
                return { key: perm };
            })
        };
    });

    /* tree:

    [ { name: 'categories_admin',
    perms: [ [Object], [Object], [Object] ] },
  { name: 'users_admin', perms: [ [Object], [Object], [Object] ] },
  { name: 'users_moderator', perms: [ [Object], [Object] ] },
  { name: 'questions_user',
    perms: [ [Object], [Object], [Object], [Object] ] },
  { name: 'questions_moderator', perms: [ [Object], [Object] ] } ]
      */

    models.auth.roles.bulkCreate(
        tree,
        {   include: [models.auth.perms],
            ignoreDuplicates: true }
    ).then(function (roles) {
        cb();
    }).catch(cb);
}

这创建了角色,但是当我这样做时,角色没有权限:

        models.auth.roles.findAll()
            .then(function (roles) {

                roles[4].getPerms().then(function (perms) {
                    console.log("pn:", roles[4].name);
                    console.log("P", perms.length );
                });

                console.log("Roles", roles.length);
            }).catch(cb);

getPerms()不会返回任何结果,(我试过各种角色实例)。

我做错了吗?

PD:抱歉,我的英语很差。

0 个答案:

没有答案