使用Slick使用Rep [Optional [...]]获得收益

时间:2018-10-02 18:26:09

标签: java scala functional-programming slick

我正在尝试检查我的列中是否包含至少一个具有以下伪代码的List中的元素:

其中b.testColumn = Rep [Optional [List]]

def checkTest(id: UUID, input: List[String]) = {

  for {
    a <- a.query if a.id === id
    b <- b.query if a.bId === b.id && b.testColumn.intersect(input)
  } yield b

  ApplicationDatabase.slick.run...
}

下面的代码出现类型不匹配的错误:

b <- b.query if a.bId === b.id && b.testColumn.intersect(input)

我的问题是-如何轻松解开 Rep [Optional [...]] 并与我的输入值进行比较

2 个答案:

答案 0 :(得分:1)

您尝试过inSet吗?

.onDataChange

答案 1 :(得分:1)

经过调查,我发现访问Rep[Optional[...]]的最简单方法是执行.map

例如-b <- b.query if a.bId === b.id && b.map(_.testColumn).inSetBind(input)