我想在多个表以及该表的所有列中使用sequelize创建动态搜索。
我希望所有结果都包含任何表的一列或多列,并在搜索框中插入文本。 我尝试这样的事情:
return await Models.table1.findAll({
subQuery: false,
attributes: [...
['description', 'name'],
'isActive'
],
include: [{
model: Models.table2,
as: 'data',
required: true,
attributes: [...
['description', 'name'],
'isActive'
],
where: {
isActive: 1,
description:{
$like: '%' + text + '%'
}
},
include: [{
model: Models.table3,
as: 'data',
required: true,
attributes: [
[...],
['description', 'name'],
'isActive'
],
where: {
isActive: 1,
description:{
$like: '%' + text + '%'
}
},
include: [{
model: Models.table4,
as: 'data',
required: true,
attributes: [
...
'comments',
'isActive'
],
where: {
isActive: 1
}
}]
}]
}],
where: {
isActive: 1
}
})
但是,即使所有“描述”列均与文本匹配,我仍会得到结果。我可以从table4开始查询吗?自下而上,如果有人匹配该文本,则返回?
对不起,我的英语,希望你能理解我。
谢谢你