gpt4 book ai didi

javascript - 从原始查询中解析模型和关联 hasMany

转载 作者:行者123 更新时间:2023-12-02 21:35:18 27 4
gpt4 key购买 nike

提前感谢您的帮助。

我有两个模型菜单和窗口及其关联

db.menus.hasMany(db.windows);
db.windows.belongsTo(db.windows);

我正在尝试使用与此类似的输出进行平面查询:

'menu':
{'description':'Menu 1',
"windows": [
{"description": "windows 1"},
{"description": "windows 2"},
{"description": "windows 3"},
]
}

当我将关联 hasOne 而不是 hasMany 放置时,至少窗口位于菜单内部,但每个窗口各占一行,但使用 hasMany 时,信息将作为菜单的一部分包含在内我想要一个 window 的对象。

const options = {
model: db.menus,
// mapToModel: true,
// hasJoin: true,
include: [{
model: db.ventanas
}]
};
db.menus._validateIncludedElements(options);
db.sequelize.query(Query, options)
.then(MenuWindows => {
console.log(MenuWindows);
});

我已经证明了很多说服,但没有人能正常工作,我想知道是否有什么事情我还没有做,正如我在将关联 hasOne 选项 hasJoin< 时所说的那样/strong> 否则会出现此错误 未处理的拒绝 TypeError: 无法读取未定义的属性“模型”

顺便说一句,使用 findAll Sequelize 工作正常,但我正在使用更多表进行复杂查询,但只显示菜单和窗口,所以我推断关联很好,问题在于方式我正在映射输出

最佳答案

经过一千次尝试后,只需将表的别名放入模型即可工作

        model: db.menus,
as: 'menu',
hasJoin: true,
include: [{
as: 'windows',
model: db.windows
}]
};
db.menus._validateIncludedElements(options);
db.sequelize.query(query, options)
.then(menuWindows => {
console.log(menuWindows);
}); ```

关于javascript - 从原始查询中解析模型和关联 hasMany,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60516646/

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