11
我有以下代碼(簡化):不能排除select語句關聯的領域中sequelize
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']
}]
})
我也得到結果,從領帶表領域:
[{
"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查詢中看到它。如何從select語句中排除這些內容?我嘗試了其他一些東西,但沒有成功。
我希望有一些清潔劑,然後只是在做:
delete item.group_item_tie;
對於我的生活,我無法得到這個工作......我們確定這有效嗎? – MirroredFate
爲我工作了@MirroredFate,如果你還有它,請將你的代碼發佈到pastebin上,讓我們看看它。 –
@GustavoMeira這裏已經有一個問題:https://github.com/sequelize/sequelize/issues/5590 – MirroredFate