如何在续集结果中更改实体名称?
邮递员结果 “ createDate”:“ 2019-05-30”, “ companyHeader.companyName”:“ Testcomp”
我想重命名'companyHeader.companyName'->'companyName'
repository.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
});
答案 0 :(得分:0)
您需要像这样在第一个模型的属性上使用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
});
答案 1 :(得分:0)
module.exports = (sequelize, DataTypes) => {
const userHeader = sequelize.define("userHeader",{
id: {
type: DataTypes.UUID,
allowNull: false,
unique: true,
primaryKey: true,
autoIncrement: true,
defaultValue : sequelize.literal('uuid_generate_v4()'),
},
userId: {
type: DataTypes.STRING(),
field : 'userid'
},
password: {
type: DataTypes.STRING(),
allowNull: false,
field : 'password'
},
userName: {
type: DataTypes.STRING(),
allowNull: true,
field : 'username'
},
usedCode: {
type: DataTypes.INTEGER,
allowNull: false,
field : 'usedcode'
},
companyId: {
type: DataTypes.UUID,
allowNull: false,
field : 'companyid'
},
createDate: {
type: DataTypes.DATE(3),
allowNull: false,
defaultValue: sequelize.literal("CURRENT_TIMESTAMP(3)"),
field : 'createdate'
}
userHeader.associate = function(models) {
// associations
userHeader.belongsTo(models.companyHeader,{
foreignKey: 'companyId',
targetKey : 'id',
// as : 'company'
})
};
return userHeader;
};