scala slick slick-2.0

scala - ¿Cómo CUENTA(*) en Slick 2.0?



slick-2.0 (3)

Acabo de tener este mismo problema al actualizar a Slick 2.0. Olvido dónde vive el método exacto, pero el .run genérico parece funcionar para mí, es decir,

coffees.length.run

Según la documentación de Slick 2.0 , para obtener el recuento de filas en una tabla:

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

Sin embargo, resulta que coffees.length es de tipo Column[Int] .

¿Cómo se ejecuta una consulta y se obtiene el valor?


Intente coffees.length.first debe ejecutar y devolver Int

Lo sentimos, de hecho, en el slick 1.0 hubo un primer método para hacerlo, en Slick 2.0 se deshacen de él en favor de una run más genérica.

La función para ejecutar la consulta es

coffees.length.run


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

Las cotizaciones son necesarias si el nombre de su tabla no es mayúscula.