如何在光滑中查找查询长度并将其用作布尔值?

时间:2017-09-05 19:09:52

标签: scala slick

我们正在使用Slick。我们有一个表有一些条目,我有一个键,我想用来查询表。我只需要一个布尔值来知道该键是否存在于某些列Y的表中。

我知道钥匙,我知道Y.但是Slick真的让我把头撞到了墙上。

这是我目前的做法:

val query = EventInfo.filter(_.id === 32323).map(u=>u.id).exists
val action = query.result
val results  = db.run( action)
results.onComplete(println)

它确实打印:成功(真实)

但是我想在过程中使用这个布尔值来调用方法A(如果为true)和方法B(如果为false)。

我无法理解如何将此值提取到变量,然后在onComplete函数中使用它

1 个答案:

答案 0 :(得分:1)

也许最容易解决的问题是

import scala.concurrent.Await
import scala.concurrent.ExecutionContext.Implicits.global
import scala.concurrent.duration._

try {
  Await.result({
    results.map { 
      case true => println("method A")
      case false => println("method B")
    }
  }, 1 minute)
} finally db.close()