多分ばかげた質問。しかし、私は今のところ答えを見つけていません。では、SQLの「LIKE」演算子を[〜#〜] slick [〜#〜]でどのように表現しますか?
いつものように!
val query = for {
coffee <- Coffees if coffee.name like "%expresso%"
} yield (coffee.name, coffee.price)
次のようなSQLを生成します
SELECT name, price FROM coffees WHERE NAME like '%expresso%';
これが私がそれを機能させる方法です:
_// argMap is map of type [Str, Str]
val query = for {
coffee <- coffees if (
argMap.map{ case (k,v) =>
metric.column[String](k) like s"%${v}%"
}.reduce(_ && _)
)
} yield(coffee.name)
_
そして、dbを使用してこれを実行できます:val res = db.run(query.result)
もちろん、res
はここでの未来であり、実際の結果を得るにはawaitを使用する必要があります。