我在实现连接到返回表的存储过程时遇到问题,问题是:我有一个存储过程,它返回一个 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/