【发布时间】:2020-04-20 14:24:29
【问题描述】:
我有表product,关系是product belong to category、product belong to outlet 和product belong to market。
现在我需要搜索名称如 %keyword% 或出口名称如 %keyword% 或类别名称如 %keyword% 的产品
连接表后可以在哪里条件?
let where = {
active: true,
[Op.or]: [
{ name: { [Op.like]: '%' + keyword + '%' } },
{ 'category.name': { [Op.like]: '%' + keyword + '%' } },
{ 'outlet.name': { [Op.like]: '%' + keyword + '%' } },
]
}
let inWhere = { active: true };
model.findAll({
attributes: ['name'],
where,
include: [
{
required: false,
model: db.category,
as: 'category',
where: inWhere,
attributes: ['name']
},
{
required: false,
model: db.outlet,
as: 'outlet',
where: inWhere,
attributes: ['name', 'city']
},
{
required: false,
model: db.market,
as: 'market',
where: { active: true },
attributes: ['name']
}
]
})
【问题讨论】:
标签: sequelize.js