繁体   English   中英

在包含(文字连接)中使用文字和续集

[英]Using literal in include (literal join) with sequelize

我在实现连接到返回表的存储过程时遇到问题,问题是:我有一个存储过程,它返回一个 uuid(和其他字段),作为过滤器应用于我认为使用 Inner 的真实查询加入,例如:

SELECT
    ot.*
FROM
    "OriginalTable" as ot
INNER JOIN "MyStoredProcedures"(param1, params2) as enableds
    ON ot.uuid = enableds.uuid
...

就像是:

OriginalModel.findAll({
    include: [{
        model: sequelize.fn('MyStoredProcedures', param1, param2),
        required: true,
    }],
});

但我意识到它不受支持,得到:

类型错误:include.model.getTableName 不是 function

有一些方法可以使用类似文字的值进行内部连接?

谢谢,对不起我的英语不好

您可以调用存储过程,然后加入:

const newTable = await sequelize.query(
    'CALL MyStoredProcedures (:param1, :param2)', 
    {replacements: { param1: "value1", param2: "value2", }}
)

OriginalModel.findAll({
    include: [{
        model: newTable,
          required: true,
    }],
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM