javascript - 使用 OR 对多对多搜索进行续集
问题描述
我的代码的主要思想是创建一个搜索字段,我有两个多对多字段,我想绑定对多对多表的搜索
我想选择 modelos.nome_modelo_produto 表中的 modelos.nome_modelo_produto 字段,但从不工作,因为即使在我提到表之间的关系之后,sequelize 也无法识别该字段:
Modelo.belongsToMany(Produto, {through: 'ProdutosModelos'});
Produto.belongsToMany(Modelo, {through: 'ProdutosModelos'});
搜索的想法是这样的......
Table.findAll({
where: {
[Db.Sequelize.Op.or]: [
{'nome_produto': Db.sequelize.where(Db.sequelize.fn('LOWER', Db.sequelize.col('nome_produto')), 'LIKE', '%' + req.query.search + '%')},
{'$modelos.nome_modelo_produto$': Db.sequelize.where(Db.sequelize.fn('LOWER',Db.sequelize.col('$modelos.nome_modelo_produto$')), 'LIKE', '%' + req.query.search + '%')}
]
}
})
但不工作......有人可以帮助我或给我一个继续的方法吗?
解决方案
如果有人遇到此错误,我已经检查过,当您在其中使用限制或偏移标签时,存在我无法解决的恼人错误。
所以我的提示是删除偏移量和限制,并将表列重命名为仅按名称查找,例如,如果表事物中有字段标签,则可以将标签字段重命名为 things_tags,如果它是一个关系字段,并且当您在其中设置字段时,您只能插入字段名称而不插入表名称。
推荐阅读
- python - 我们可以将消息从 Pub/sub 主题拉到 Angular 吗?
- kubernetes - GCP - 我可以将 Compute Engine 用于生产 MySQL 数据库吗
- javascript - 是否可以使用 React '获取'元素样式并将其渲染到 DOM 上?
- javascript - reactjs中使用firebase身份验证的登录功能
- php - 我需要帮助使用 PHP/jQuery/AJAX 获取动态行数的 MySQL 数据
- javascript - 如何仅为 Javascript onclick 回调选择元素的背景空白?
- java - 在Java中为Oracle SQL IN子句将列表转换为字符串
- python - 要以交替方式将列表中的项目添加到两个新列表中,为什么这段代码不起作用?(它说 player_1 没有定义)
- sql-server - 如何将数据从远程 SQL Server 导出到网络驱动器?
- haproxy - 如何为多个端口配置 haproxy