javascript - 在包含(文字连接)中使用文字与 Sequelize

标签 javascript node.js sequelize.js

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

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,
    }],
});
但我意识到它不受支持,得到:

TypeError: include.model.getTableName is not a function


有什么方法可以用类似文字的值进行内部连接?
谢谢,对不起我可怜的英语

最佳答案

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

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

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

关于javascript - 在包含(文字连接)中使用文字与 Sequelize ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67220695/

相关文章:

javascript - 如何检查字符串中是否包含 ASCII 字母?

javascript - 无法在html中创建列表

javascript - 第二个请求的 Node -mysql 连接错误

javascript - sequelize 上的多个外键(一对多或多对多)?

node.js - sequelize 查询的可选参数

sql - ON DELETE CASCADE for multiple foreign keys with Sequelize

javascript - PHP 验证后提交表单后显示感谢消息

javascript - 获取引导表上当前显示的页面

javascript - 如何从虚拟内存中为node.js提供html+js服务?

javascript - 客户端-服务器架构结构(使用node js)-index.html 文件放在哪里?