16

根据Slick 2.0 文档,要获取表中的行数:

val q1 = coffees.length
// compiles to SQL (simplified):
//   select count(1) from "COFFEES"

但是,事实证明coffees.length是 type Column[Int]

如何执行查询并获取值?

4

3 回答 3

26

我刚刚升级到 slick 2.0 时遇到了同样的问题。我忘记了确切的方法在哪里,但泛型.run似乎对我有用,即

coffees.length.run
于 2014-02-03T02:31:40.530 回答
5
StaticQuery.queryNA[Int]("select count(*) from \"" + TableName + "\"").first

如果您的表名不是大写,则需要引号。

于 2014-05-16T17:43:38.223 回答
1

尝试coffees.length.first应该执行并返回Int

抱歉,确实,在 slick 1.0 中有第一种方法可以做到这一点,在 Slick 2.0 中,他们摆脱了它,转而使用更通用的run.

执行查询的函数是

coffees.length.run
于 2014-02-02T21:15:58.483 回答