加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

scala – 动态过滤器

发布时间:2020-12-16 09:16:44 所属栏目:安全 来源:网络整理
导读:我正在研究一些anorm文档(从play框架),并不清楚它是否支持常见的查询用例:动态过滤器,即用户在10个字段搜索表单中填写2或3个搜索条件. 在这种情况下,如何在没有经典字符串操作的情况下动态构建查询? 解决方法 是的,我认为罗宾·格林提到的问题包含了答案.
我正在研究一些anorm文档(从play框架),并不清楚它是否支持常见的查询用例:动态过滤器,即用户在10个字段搜索表单中填写2或3个搜索条件.

在这种情况下,如何在没有经典字符串操作的情况下动态构建查询?

解决方法

是的,我认为罗宾·格林提到的问题包含了答案.只需使用占位符(例如{criteria1})使用所有可能的标准定义查询,并调用查询上的on()方法,传递实际的Seq of Option参数,如接受的答案所述.

假设您有两个条件,但只希望您的查询过滤国家代码,而不是在首都,Anorm文档中的修改示例:

SQL(
"""
select * from Country c 
join CountryLanguage l on l.CountryCode = c.Code 
where ({countryCode} is null or c.code = {countryCode})
  and ({capital} is null or c.capital = {capital});
"""
).on("countryCode" -> Some("FRA"),"capital" -> None)

这应该够了吧.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读