Для выхода с Rep [Необязательно [...]] используя Slick - PullRequest
0 голосов
/ 02 октября 2018

Я пытаюсь проверить, содержит ли мой столбец хотя бы один элемент из предоставленного списка со следующим псевдокодом:

Где b.testColumn = Rep [Необязательно [Список]] .

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 [Необязательно [...]] и сравните с моими входными значениями

Ответы [ 2 ]

0 голосов
/ 04 октября 2018

После расследования самый простой способ получить доступ к найденному мною Rep[Optional[...]] - сделать .map

например - b <- b.query if a.bId === b.id && b.map(_.testColumn).inSetBind(input)

0 голосов
/ 02 октября 2018

Вы пробовали inSet ?

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

...