在光滑,我们可以使用
query.filter( m => (m.state === state1 && m.status === status1) || (m.state === state2 && m.status == status2))
Run Code Online (Sandbox Code Playgroud)
对于where子句中的"OR"条件.但是我的要求是我在列表中有"OR"条件(由用户作为URL的一部分传递).条件列表包括状态和状态元组
List[(state1, status1),(state2, status2),(state3, status3)]
Run Code Online (Sandbox Code Playgroud)
所以我想要的是能够构建|| 过滤器内部的语句,以便我可以使用列表中的每个条件来生成查询,但我不知道如何实现.或者,如果有类似的东西
query.applyOrFilters.orFilter(condition1).orFilter(condition2)
Run Code Online (Sandbox Code Playgroud)
这实际上会对查询对象执行condition1 OR condition2.现在可以使用Slick还是用于理解?
好的,我有一个方法,有多个这样的可选参数
def(username: Option[String], petname: Option[String], favouritefood: Option[String])
Run Code Online (Sandbox Code Playgroud)
我想编写一个动态查询,它能够以这种方式获取已定义参数的数据
select * from table where un like username or pn like pn or ff like ff;
Run Code Online (Sandbox Code Playgroud)
所以根据定义哪些参数将它们添加到OR运算符查询?