gpt4 book ai didi

node.js - 使用 SequelizeJs 获取父类别对象

转载 作者:行者123 更新时间:2023-12-03 22:18:13 25 4
gpt4 key购买 nike

我有一个模型定义为:

var Post = sequelize.define("Post", {
title: DataTypes.STRING,
description: DataTypes.TEXT
}, {
classMethods: {
associate: function (models) {


Post.belongsTo(models.Category, {as: 'category', foreignKey:'categoryId'});
}
}
});

然后类别模型为:
var Category = sequelize.define("Category", {
code: DataTypes.STRING,
description: DataTypes.STRING,
img: DataTypes.STRING,

}, {
classMethods: {
associate: function (models) {

Category.hasOne(models.Category, {as: 'parent', foreignKey: 'parentId'});
}
}
});

如您所见,该帖子属于一个类别,该类别可以是父类别或子类别。

每个类别只能有一个父类别。

现在我想要的是获取父类别(如果存在)。我可以去N号级别。但是我很高兴,如果它只在一个级别上工作,即

类别 - 工作
子类别 - IT

现在,当我有一个属于 IT 的帖子时,我想将类别对象作为 IT,但同时 IT 类别对象必须具有类别工作记录的另一个对象。

目前我只能得到子类别:
app.db.sequelize.models.Post.findAll({
where: ['"Post".id = ?', postId],
include: [

{model: app.db.sequelize.models.Category, as: 'category'},

]
}).then(function (post) {
res.send({post: post});
})

最佳答案

Post.findAll({
where: ['"Post".id = ?', postId],
include: [
{
model: Category,
as: 'category',
include: [
{ model: Category, as: 'parent' }
]
},
]
});

关于node.js - 使用 SequelizeJs 获取父类别对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29884963/

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