想使用表单开发实现配置下拉框多选查询,但是传递到后端的解析动作是拼接左右like %,求告知为什么是这种处理方式而不是将参数使用IN查询
因为存到数据量里面是逗号隔开的,例如:tag字段存的是:语文,数学,英语,如果使用in的话,是查不出的。如果有更好的方案提供,我们后续会跟进修改
您这种以" , "拼接的数据是在什么位置存储进去的呢? 是否能保证数据的插入和查询顺序呢?
我现在想要实现的多选查询功能是:下拉框里面的value为数据库真实的数据,通过勾选多个value以数组形式传到后端,后端在SQL中直接IN匹配出来
数据插入是通用的插入,前端封装好数据111,222,33 传过来了
现在是查出来的结果不正确吗?用like方式
我想要实现效果例:订单状态表id 单号 状态 金额1 xxxx01 1 992 xxxx02 1 883
3 xxxx03 2 9984 xxxx04 3 7777状态表:id 状态1 已提交2 已支付3 已取消此时订单表状态列关联状态表设置字典项并开启多选(多选仅提供查询使用,新增保证唯一)
是否有功能实现 前端传入 1,2查询出id为1,2,3的数据
这样的话,可以在上面你截图的位置,改为in方式是没有问题的,前端传过来的是1,2 转为数组,然后in就可以了,我使用like是为了框架形式可以兼容
最终的效果是:select * from 订单状态表 where 状态 in(1,2)
因为存到数据量里面是逗号隔开的,例如:tag字段存的是:语文,数学,英语,如果使用in的话,是查不出的。如果有更好的方案提供,我们后续会跟进修改
