map接收参数进行查询报字段不存在

Blade 已结 1 550
sqg
sqg 2022-04-25 14:37

一、该问题的重现步骤是什么?

  1. 前端传递参数中有下拉框。参数回多加入$ 开头的内容。

  2. 后端使用map 接收参数。并用Condition.getQueryWrapper 转换。

    截图_20220425142113.png

    截图_20220425142221.png



二、你期待的结果是什么?实际看到的又是什么?

    前端传递参数中有下拉框。参数回多加入$ 开头的内容,后端使用map 接收参数,并用Condition.getQueryWrapper 转换。会把$开头的也当字段拼接到where 条件中,造成查询报字段$xx不存在。

    期望在getQueryWrapper 处理时,能忽视$xx字段。

三、你正在使用的是什么产品,什么版本?在什么操作系统上?


四、请提供详细的错误堆栈信息,这很重要。


五、若有更多详细信息,请在下面提供。

1条回答
  •  admin
    admin (楼主)
    2022-04-25 16:05

    这个不好从官方层面直接处理,因为无法排除有些字段就带了特殊符号的特殊情况。

    所以你可以自行拓展一下,先对map做一个for循环,判断如果key带有特殊符号,就直接remove,接着再调用getQueryWrapper方法。

    0 讨论(1)
提交回复