【问题标题】:How I can change name in including field in sequelize?如何在续集中包含字段中更改名称?
【发布时间】:2019-05-21 21:08:41
【问题描述】:

如果我使用 sequelize,如何更改请求对象中的名称。 我有两个模型,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
   }
}

【问题讨论】:

    标签: javascript mysql sequelize.js


    【解决方案1】:

    您应该能够在您定义的任何地方使用关联中的as 属性。例如,您的 Person 模型可能如下所示。

    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

    【讨论】:

      猜你喜欢
      • 2012-05-08
      • 2014-01-09
      • 1970-01-01
      • 2019-05-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多