我的表格中包含Int
列TIME
:
def time = column[Int]("TIME")
table is mapped到自定义类型。我想找到一个最大时间值,即执行一个简单的聚合。 The example in the documentation似乎很容易:
val q = coffees.map(_.price)
val q1 = q.min
val q2 = q.max
然而,当我这样做时,q1和q2的类型是Column[Option[Int]]
。我可以对此执行get
或getOrElse
以获得Column[Int]
类型的结果(即使这对我来说有点令人惊讶 - get
是Column
的成员},或者是从Option[Int]
转换为Int
,然后再次包装到Column?为什么?),但我无法使用标量值,当我尝试将其分配给Int时,I收到错误消息:
type mismatch; found : scala.slick.lifted.Column[Int] required: Int
如何从聚合查询中获取scala值?
答案 0 :(得分:2)
我的猜测是你没有调用调用者,这就是你获得Column
对象的原因。试试这个:
val q1 = q.min.run
应该返回Option[Int]
,然后您可以get
或getOrElse
。