如何在续篇中的包含字段中更改名称?

时间:2019-05-21 21:08:41

标签: javascript mysql sequelize.js

如果我使用续集,如何在请求对象中更改名称。 我有两个模型,Person模型包括Name模型。

db中的表是Names,我的字段名称是Names。 我怎么能 。改变吗?

Person.findByPk(
    id,
    include: [{
        model: Name
    }]
});

Name.Model.js

sequelize.define('Name', {
    id: {
        type: type.INTEGER,
        primaryKey: true
    },
    name: {
        type: type.STRING
    }
});

我得到对象Person,其中一个也是对象

Person = {
   ...
   Names: {
      id: 1,
      name: Piter
   }
}

我想要

Person = {
   ...
   name: {
      id: 1,
      name: Piter
   }
}

1 个答案:

答案 0 :(得分:0)

无论您在哪里定义关联,都应该可以使用as属性。例如,您的“人物模型”可能看起来像这样。

const Person = sequelize.define('Person', 
    { 
     .
     . //whatever other properties your person has.
     .
     },{});
Person.associate = function(models){
    Person.hasOne(models.Name, {
        as: 'name'
    });
};

编辑:有关此主题的更多信息,请参见:http://docs.sequelizejs.com/manual/associations.html#naming-strategy