dce*_*chi 13 scala playframework anorm playframework-2.0
我正在研究anorm文档(来自播放框架)并且不清楚它是否支持常见的查询用例:动态过滤器,即用户在10字段搜索表单上填写2或3个搜索条件.
在这种情况下,如何在没有经典字符串操作的情况下动态构造查询?
Joe*_*old 14
是的,我认为Robin Green引用的问题包含答案.只需使用占位符(例如{criterion1})使用所有可能的标准定义查询,并on()在查询上调用方法,并按照接受的答案中的描述传递参数的实际Seq值Option.
来自Anorm doc的修改示例,假设您有两个条件,但只希望您的查询过滤国家/地区代码而不是资本:
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)
Run Code Online (Sandbox Code Playgroud)
这应该够了吧.
| 归档时间: |
|
| 查看次数: |
1558 次 |
| 最近记录: |