油滑2聚合 - 如何获得一个标量结果?(Slick 2 aggregation - how to g

2019-10-20 04:29发布

我有一个表IntTIME它:

def time = column[Int]("TIME")

该表被映射到一个自定义类型。 我想找到一个最大时间值,即进行简单的聚集。 在文档中的例子似乎很容易:

val q = coffees.map(_.price)
val q1 = q.min
val q2 = q.max

然而,我这样做时,Q1和Q2的类型是Column[Option[Int]] 我可以执行getgetOrElse在此得到类型的结果Column[Int]即使这似乎有点令人惊讶我-是get的成员Column ,或者是从转换的值Option[Int]Int再包列再次为什么),但我无法使用标量值,当我试图把它分配给诠释,我得到一个错误消息说?:

 type mismatch; found : scala.slick.lifted.Column[Int] required: Int 

我怎样才能从汇总查询阶值?

Answer 1:

我的猜测是,你是不是叫这就是为什么你得到的原因调用Column对象。 尝试这个:

val q1 = q.min.run

应该返回一个Option[Int]然后就可以getgetOrElse



文章来源: Slick 2 aggregation - how to get a scalar result?