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) 这应该够了吧. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |