如何在 Sequelize 结果中重命名实体名称?

한재현*_*한재현 2 node.js express sequelize.js

如何更改续集结果中的实体名称?

结果邮差“createDate”:“2019-05-30”,“companyHeader.companyName”:“Testcomp”

我想重命名 'companyHeader.companyName' -> 'companyName'

存储库.js

return await models.userHeader.findAndCountAll({
// join t_userheader and t_companyheader with associate
include: [
{
model: models.companyHeader,
attributes: ["companyName"],
// as : 'company'
},
],
attributes: ["id","userId", "userName", "usedCode", "createDate"],
offset: offset,
limit: pageAmount,
order : [['createdate','DESC']],
raw : true
});
Run Code Online (Sandbox Code Playgroud)

Ell*_*key 5

您需要使用sequelize.literal第一个模型的属性,如下所示:

return await models.userHeader.findAndCountAll({
  include: [{
    model: models.companyHeader,
    attributes: ["companyName"],
    // as : 'company'
  }],
  attributes: [
    "id",
    "userId", 
    "userName", 
    "usedCode", 
    "createDate",
    [sequelize.literal('"companyHeader"."companyName"'), 'companyName']
  ],
  offset: offset,
  limit: pageAmount,
  order : [['createdate','DESC']],
  raw : true
});
Run Code Online (Sandbox Code Playgroud)