gpt4 book ai didi

javascript - 无法从 sequelize 中的 select 语句中排除关联的字段

转载 作者:IT老高 更新时间:2023-10-28 23:06:51 26 4
gpt4 key购买 nike

我有以下代码(简化):

var group = sequelize.define("group", {
id: {type: DataTypes.INTEGER, autoIncrement: false, primaryKey: true},
name: type: DataTypes.STRING,
parentId: DataTypes.INTEGER
}, { classMethods: {
associate: function (models) {
group.belongsToMany(models.item, { as:'items', foreignKey: 'group_id', through: models.group_item_tie });
}}
});

var group_item_tie = sequelize.define("group_item_tie", {}, {freezeTableName: true});

var item = sequelize.define("item", {
spn: { type: DataTypes.INTEGER, autoIncrement: false, primaryKey: true },
}, { classMethods: {
associate: function (models) {
item.belongsToMany(models.group, { foreignKey: 'spn', through: models.group_item_tie });
}}
});

当我尝试返回一些具有关系的记录时,可以这样说:

dbcontext.group.findAll({
where: { id: 6 },
include: [{
model: dbcontext.item,
as: 'items',
attributes: ['spn']
}]
})

我还从关系表 group_item_tie 中获得结果:

[{
"id": 6,
"name": "abc",
"parentId": 5,
"createdAt": "2015-05-06T15:54:58.000Z",
"updatedAt": "2015-05-06T15:54:58.000Z",
"items": [
{ "spn": 1,
"group_item_tie": {
"createdAt": "2015-05-06 15:54:58.000 +00:00",
"updatedAt": "2015-05-06 15:54:58.000 +00:00",
"group_id": 6,
"spn": 1
}
},
{ "spn": 2,
"group_item_tie": {
"createdAt": "2015-05-06 15:54:58.000 +00:00",
"updatedAt": "2015-05-06 15:54:58.000 +00:00",
"group_id": 6,
"spn": 2
}
},

我在生成的 sql 查询中看到它。如何从选择语句中排除那些?我尝试了其他一些方法,但没有成功。

我希望有一些更清洁的东西然后只是做:

delete item.group_item_tie;

最佳答案

我将回答自己,因为它可能对将来的某人有用。所以根据#3664 , #2974#2975答案如下(感谢mickhansen):

include: [{
model: dbcontext.item,
as: 'items',
attributes: ['spn'],
through: {
attributes: []
}
}]

很快就会记录下来。

关于javascript - 无法从 sequelize 中的 select 语句中排除关联的字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30082625/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com