例如有三个模型,分类 Category、文章 Article、评论 Comment
class Category extends Model {
static associate(models) {
models.Category.hasMany(models.Article)
}
};
class Article extends Model {
static associate(models) {
models.Article.belongsTo(models.Category)
models.Article.hasMany(models.Comment)
}
};
class Comment extends Model {
static associate(models) {
models.Comment.belongsTo(models.Article)
}
};
一层关联查询
router.get('/', async function (req, res, next) {
var categories = await models.Article.findAll({
include: [models.Article],
})
res.json(categories);
});
两层关联查询
router.get('/', async function (req, res, next) {
var categories = await models.Category.findAll({
include: {
model: models.Article,
include: [{
model: models.Comment,
}]
},
})
res.json(categories);
});
class Category extends Model {
static associate(models) {
models.Category.hasMany(models.Article, {as: 'myArticles'})
}
};
查询时
router.get('/', async function (req, res, next) {
var categories = await models.Article.findAll({
include: [{
model: models.Article,
as: 'myArticles'
}],
})
res.json(categories);
});
已添加到喜欢了