我有这样的代码:
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
。
答案 0 :(得分:2)
如果您查看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)
注意Anorm插值
SQL"..."
(不带括号)。
答案 1 :(得分:0)
我认为它应该有效
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
}