Подтвердить что ты не робот

Как использовать COUNT (*) в Slick 2.0?

Согласно документации Slick 2.0, чтобы получить количество строк в таблице:

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

Однако оказывается, что coffees.length имеет тип Column[Int].

Как выполнить запрос и получить значение?

4b9b3361

Ответ 1

У меня была такая же проблема с обновлением до 2.0. Я забываю, где находится точный метод, но общий .run, кажется, работает для меня, т.е.

coffees.length.run

Ответ 2

StaticQuery.queryNA[Int]("select count(*) from \"" + TableName + "\"").first

Цитаты необходимы, если имя вашей таблицы не является верхним регистром.

Ответ 3

Попробуйте coffees.length.first выполнить и вернуть Int

Извините, действительно, в slick 1.0 появился первый способ сделать это, в Slick 2.0 они избавились от него в пользу более общего run.

Функция выполнения запроса

coffees.length.run