我想查找其中包含特定子字符串的产品(搜索产品),即搜索字符串匹配或或{在其他关联表( OR) 中} 或其他关联(hasMany)表( ),即,如果所有SKU的描述中的任何位置}product.nameproduct.descriptioncategory.namecategory.descriptionsku.description
我有一个具有以下结构的表格
products具有字段
的字段
与具有字段的字段id | name | description | categoryIdcategoriesid | name | descriptionskuid | productId | description
有关系
db.product.belongsTo(db.category);
db.category.hasMany(db.product);
db.sku.belongsTo(db.product);
db.product.hasMany(db.sku);
最终,我想要搜索字符串与产品的任何位置匹配的产品。
db.product.findAll({
include: [
{
// hasOne relation
model: db.category,
},
{
// hasMany relation
model: db.sku,
},
],
where: {
[Op.or]: [
{
name: {
[Op.like]: `%${search}%`
}
},
{
description: {
[Op.like]: `%${search}%`
}
},
// this doesn't work need some way to achieve something like this
// {
// category:{
// name: {
// [Op.like]: `%${search}%`
// }
// description: {
// [Op.like]: `%${search}%`
// }
// }
// }
]
}
})
我可以在 部分内应用条件,但这不会像整体或那样像我需要的搜索一样工作。whereincludecategory
这不会给出预期的结果
include: [
{
model: db.category,
where : {
name: {
[Op.like]: `%${search}%`
}
description: {
[Op.like]: `%${search}%`
}
}
}
],
慕姐8265434
相关分类