【问题标题】:Sequelize not rendering junction (look up table) valuesSequelize 不渲染连接(查找表)值
【发布时间】:2014-06-12 10:43:08
【问题描述】:

我在 Node.js 网络应用程序中使用 Sequelize。我有一个多对多的关系,并且正在使用查找表。生成的 SQL 看起来不错,但是当我开始使用它时,只显示“组”表中的值。

这就是我设置模型的方式:

//groups
m.User.hasMany(m.Group, { as: 'UserGroups', joinTableName: 'group_users', foreignKey: 'user_id' });
m.Group.hasMany(m.User, { as: 'UserGroups', joinTableName: 'group_users', foreignKey: 'group_id' });

这是由 sequelize 运行的原始 sql:

SELECT `group`.`id`, `group_name`, `created_date`, `description`, `rights`, `join_date` FROM `group`, `group_users` WHERE `group_users`.`user_id`=1 AND `group_users`.`group_id`=`group`.`id`;    

这是我的代码:

user.getUserGroups({ attributes : [ "group.id", "group_name", "created_date", "description", "rights", "join_date" ] }).success(function (groups) {
  content.groups = groups;
  console.log(groups);
});

这就是console.log'd的内容:

[ { dataValues:
     { id: 16,
       group_name: 'chris\'s group',
       created_date: Sun Dec 16 2012 17:36:46 GMT+0000 (GMT),
       description: 'test test test',
       rights: 4,
       join_date: Tue Oct 15 2013 13:49:05 GMT+0100 (BST) },
    __options:
     { timestamps: false,
       createdAt: 'createdAt',
       updatedAt: 'updatedAt',
       deletedAt: 'deletedAt',
       touchedAt: 'touchedAt',
       instanceMethods: [Object],
       classMethods: [Object],
       validate: {},
       freezeTableName: true,
       underscored: true,
       syncOnAssociation: true,
       paranoid: false,
       whereCollection: [Object],
       schema: null,
       schemaDelimiter: '',
       language: 'en',
       defaultScope: null,
       scopes: null,
       foreignKeyConstraint: true
       ....

这是视图中呈现的原始 JSON:

 [{"id":16,"group_name":"chris's group","created_date":"2012-12-16T17:36:46.000Z","description":"test test test"},

为什么我看不到“rights: 4”被渲染,因为这肯定被带回来了?

【问题讨论】:

  • 能否包含用于呈现 JSON 的代码?
  • JOSN.stringify(groups)

标签: node.js express sequelize.js


【解决方案1】:

您能否检查一下您是否在 sequelize 模型定义中定义了 rights,因为 toJSON() 函数会根据模型定义中定义的列名进行转换。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-01-27
    • 1970-01-01
    • 2018-04-20
    • 1970-01-01
    • 2021-02-03
    • 2015-10-12
    • 2023-04-01
    • 2022-11-11
    相关资源
    最近更新 更多