首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Sequelize -使用或运算符和模型关联的查询

Sequelize -使用或运算符和模型关联的查询
EN

Stack Overflow用户
提问于 2019-02-20 04:15:27
回答 1查看 3.2K关注 0票数 0

使用Sequelize,我有两个带有多对多关联的模型:UserCategory

我想要获得属于当前用户的所有类别,以及具有某个属性的类别,但我不明白如何获得,只有一个查询...

根据documentation和关联模型的$Model.attribute$语法,我使用了Op.or运算符(参见here)。

代码语言:javascript
复制
let categories = await models.category.findAll({
        where: {
            [Op.or]: [
                { someCategoryProperty: true },
                { '$User.id$': req.currentUser.id },
            ],
        },
        include: [{
            model: models.user,
            as: 'User',
        }],
    });

如果我添加了关于Category模型的两个条件,运算符就可以工作,但是如何在关联上添加一个条件?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-02-20 20:58:15

我终于找到了小贴士:

实际上,$Model.attribute$不是好的模式,$database_table_name.attribute$才是好的模式。

使用'$..$'语法时,我们必须使用数据库表名,而不是模型。

如果我的模型名为Sequelize,则将数据库名设置为usersuser

所以这段代码是有效的:

代码语言:javascript
复制
let categories = await models.category.findAll({
        where: {
            [Op.or]: [
                { someCategoryProperty: true },
                { '$users.id$': req.currentUser.id },
            ],
        },
        include: [{
            model: models.user,
        }],
    });

谢谢

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54774258

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档