【发布时间】:2019-10-24 13:38:53
【问题描述】:
我在如何使用 where 条件查询多个包含时遇到问题。
使用直接查询 sql 进行了尝试,它工作正常。我使用 sql 制作了一个示例,但在使用 sequelize 查询将其转换为 node.js 时遇到问题。
这是正确的 SQL
SELECT pr.id, pr.component_id, pr.requirement_type_id, c.name, rt.name
FROM product_requirements as pr
LEFT JOIN components as c
ON pr.component_id = c.id
LEFT JOIN requirement_types as rt
ON pr.requirement_type_id = rt.id
WHERE c.name LIKE '%Product%'
OR rt.name LIKE '%Product%';
我尝试将其转换为 sequelize,这是我迄今为止所做的,但它不断收到错误或正确的结果
let query = {
where : {
[Op.or] : [
{component.name : { [Op.like] : `%${keyword}%` }},
{requirement.name : { [Op.like] : `%${keyword}%` }}
]
},
include : [
{
model : models.components,
as : 'component'
},
{
model : models.requirement_types,
as : 'requirement'
}
]
}
我希望它会像 sql 结果一样
【问题讨论】:
标签: sql node.js sequelize.js