sequelize子查询不生效

发布于 2022-09-06 08:41:11 字数 562 浏览 11 评论 0

    userOrganizationModel.hasMany(organizationModel, {
        foreignKey: 'organization_id'
    });
    // 此include未生效
    const include = [{
        model: organizationModel,
        required: false,
        where: {
            name: {
                $like: 'ext-%'
            }
        }
    }];

    await userOrganizationModel.findAll({
        include: include // 此include未生效
    })
    
    想实现的原始sql:
    // mysql原生语句select * from user_organization where organization_id in(select id from organization where name like 'ext-%')

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

满意归宿 2022-09-13 08:41:11

include好像是嵌套预加载样,我猜是这样写,没有实践过,但是好像可以通过app.Sequelize.literal()直接在查询中写sql语句

userOrganizationModel.findAll({
    include: [ {
        model: organizationModel,
        as: 'Organizations',
        attributes: ['id'],
        where: { name: { $like: 'ext-%' }}
    } ],
    where: { organization_id: { $in: Organizations.map(o => o.id) } }
})
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文