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

scala – 如何在“光滑”中进行“OR”过滤

发布时间:2020-12-16 09:01:06 所属栏目:安全 来源:网络整理
导读:在光滑,我们可以使用 query.filter( m = (m.state === state1 m.status === status1) || (m.state === state2 m.status == status2)) 对于where子句中的“OR”条件.但是我的要求是我在列表中有“OR”条件(由用户作为URL的一部分传递).条件列表包括状态和状态
在光滑,我们可以使用

query.filter( m => (m.state === state1 && m.status === status1) || (m.state === state2 && m.status == status2))

对于where子句中的“OR”条件.但是我的要求是我在列表中有“OR”条件(由用户作为URL的一部分传递).条件列表包括状态和状态元组

List[(state1,status1),(state2,status2),(state3,status3)]

所以我想要的是能够构建||过滤器内部的语句,以便我可以使用列表中的每个条件来生成查询,但我不知道如何实现.或者,如果有类似的东西

query.applyOrFilters.orFilter(condition1).orFilter(condition2)

这实际上会对查询对象执行condition1或condition2.
现在可以使用Slick还是用于理解?

解决方法

在玩弄它时,我终于找到了一种方法: –

query.filter {
  m => conditions.map(n => m._13 === n._1 && m._14 === n._2).reduceLeft(_ || _)
}

其中condition的格式为List [(String,String)],m._13映射到state,m._14映射到status.

希望这有助于有人尝试同样的事情.

(编辑:李大同)

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

    推荐文章
      热点阅读