Sequelize属于关联:外键ID值而不是完整对象

时间:2016-12-23 09:36:10

标签: sequelize.js

我在获取包含另一个对象的简单JSON对象时遇到了麻烦。就我而言,一个模型"企业"有一个"地址",但是其他模型使用了Address对象,因此外键在Enterprise对象中作为" id_address"。

module.exports = function(sequelize, DataTypes) {
  return sequelize.define('enterprise', {
    id: {
      type: DataTypes.INTEGER,
      allowNull: false,
      primaryKey: true,
      autoIncrement: true
    },
    id_address: {
      type: DataTypes.INTEGER,
      allowNull: true,
      references: {
        model: 'address',
        key: 'id'
      }
    },
    name: {
      type: DataTypes.STRING,
      allowNull: true
    }
  }, {
    tableName: 'enterprise',
    timestamps: false
  });
};

我创建了这个关联:

db.enterprise.belongsTo(db.address,{foreignKey: 'id_address', constraints: false});

我这样询问:

models.enterprise.findAll({
    include: [
        models.address
    ]
}).then(function(result) {
    if(result === null){
        res.status(204);
    } else {
        res.status(200);
        res.json(result);
    }
});

问题是检索到的JSON里面只有id_address值,而不是完整的Address对象。

{
  id:1,
  id_address:1,
  name : 'MyEnterprise'
}

而不是

{
  id:1,
  address:{
    id:1,
    street:'Example'
  }
  name:'MyEnterprise'
}

关于此的任何输入?

非常感谢你。

最诚挚的问候。

1 个答案:

答案 0 :(得分:0)

好的,我发现了问题:我没有影响好的请求......

当我这样做时,它的工作正常。无论如何,谢谢你的帮助。

(((羞耻)))