我正在使用sequalize ORM为我的项目处理SQL查询。但我现在使用简单查询我想将这个复杂的SQL原始查询转换为sequalize ORM。
SELECT
u.uid
FROM
users u
WHERE
u.uid NOT IN(
SELECT
DISTINCT
CASE
WHEN uid = 3 THEN
blocked_uid
WHEN uid <> 3 THEN
uid
END AS 'uid'
FROM
user_block
WHERE
`status` = 'ACTIVE'
AND(
(uid IN(4, 5) AND blocked_uid = 3)
OR(uid = 3 AND blocked_uid IN(4, 5))
)
)
AND u.uid IN(4, 5)
答案 0 :(得分:0)
根据文档http://docs.sequelizejs.com/en/latest/docs/raw-queries/#replacements,您可以使用查询函数并绑定参数或对WHERE / IN子句中的值使用替换。
例如:
sequelize.query('SELECT * FROM projects WHERE status = ?',
{ replacements: ['active'], type: sequelize.QueryTypes.SELECT
}).then(function(projects) {
console.log(projects)
})