Sequelize通过另一个多个关联项查询所有关联项

问题描述 投票:0回答:1

我的模型看起来像这样:

用户属于许多类别

帖子属于很多类别

通过UserCategories和PostCategories的联合表

如何选择与用户具有相同类别的所有帖子(对于与用户相关的所有类别)。

javascript node.js sequelize.js
1个回答
0
投票

获取用户的所有类别。

const userCategory =  await UserCategory.findAll({
    where: {
        userId: 1,
    },
    raw: true,
});

获取用户类别的所有帖子。

const posts = await PostCategory.findAll({
    include: [
        {
            model: Post,
            required: true,
        },
        {
            model: Category,
            required: true,
            include: {
                model: UserCategory,
                required: true,
                include: {
                    model: User,
                    required: true,
                    where: {
                        id: userCategory.map(item => item.categoryId),
                    },
                },
            },
        },
    ],
});
© www.soinside.com 2019 - 2024. All rights reserved.