通过另一个多个关联项目来顺序查询所有关联项目

时间:2018-08-26 07:48:27

标签: javascript node.js sequelize.js

我的模型如下:

用户属于许多类别

帖子属于许多类别

通过UserCategories和PostCategories联合表

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

1 个答案:

答案 0 :(得分: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),
                    },
                },
            },
        },
    ],
});