我们正在使用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函数中使用它
答案 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()