Anorm 得到 Int 作为结果
Anorm get Int as result
我有这样的代码:
def getUserId(email: String) = DB.withConnection { implicit con =>
SQL("select userId from signUp where email = {email}").
on('email -> email).as(SqlParser.str("access_token").singleOpt)
}
结果为String
。
如何得到 Int
的结果。
如果您查看 Anorm documentation,您可以了解如何使用行解析器。
对于 Int
,使用 SqlParser.get[Int]
或其方便的别名 SqlParser.int
。
您正在寻找单列的行,.scalar
更好。
val res: Option[Int] =
SQL"SELECT userId FROM signUp WHERE email = $email".
as(SqlParser.scalar[Int].singleOpt)
Note the Anorm interpolation SQL"..."
(without the parenthesis).
我认为它应该有效
def getUserId(email: String) = {
val userId = DB.withConnection {
implicit a => SQL( """ select userId from signUp where email = {email} """).on('email -> email).as(SqlParser.str("access_token").singleOpt)
}
userId.toInt
}
我有这样的代码:
def getUserId(email: String) = DB.withConnection { implicit con =>
SQL("select userId from signUp where email = {email}").
on('email -> email).as(SqlParser.str("access_token").singleOpt)
}
结果为String
。
如何得到 Int
的结果。
如果您查看 Anorm documentation,您可以了解如何使用行解析器。
对于 Int
,使用 SqlParser.get[Int]
或其方便的别名 SqlParser.int
。
您正在寻找单列的行,.scalar
更好。
val res: Option[Int] =
SQL"SELECT userId FROM signUp WHERE email = $email".
as(SqlParser.scalar[Int].singleOpt)
Note the Anorm interpolation
SQL"..."
(without the parenthesis).
我认为它应该有效
def getUserId(email: String) = {
val userId = DB.withConnection {
implicit a => SQL( """ select userId from signUp where email = {email} """).on('email -> email).as(SqlParser.str("access_token").singleOpt)
}
userId.toInt
}