2017-09-05 23 views
0

我們正在使用Slick。我們有一個表有一些條目,我有一個我想用來查詢表的鍵。我只需要一個布爾值來知道該鍵是否存在於某列Y的表中。如何查找浮動查詢的長度並將其用作布爾值?

我知道關鍵,我知道Y.但斯利克真的讓我把頭撞到牆上。

這是我目前的做法:

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

它可以打印:成功(真)

但我想用的程序裏面這個布爾值來調用方法的,如果真和方法b。如果假。

我不明白如何將這個值提取到一個變量,然後用它的onComplete函數內部

+0

你能檢查我的【答案】(HTTPS:/ /stackoverflow.com/a/46062592/5249621)如果它適合你? –

回答

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()