【发布时间】:2016-02-09 09:48:04
【问题描述】:
我正在对登录系统的数据库进行简单的选择查询。我应该从数据库中获取记录,然后比较密码,但我正在努力让该部分主要用于获取选择查询以返回我需要的内容。这就是我所拥有的
def example() = Action.async {
val myquery=sql"""SELECT password,id,email from profiles where email=hetmam@yahoo.com""".as[(String,Int,String)]
dbcall.run(myquery.map { Result =>
Result.headOption match {
case d: (String, Int,String) =>
if (BCrypt.checkpw("mypassword", d._1)) {
Ok("it worked")
}
else
Ok("No match")
case None => Ok("Empty")
}
}
}
此代码有效,但没有以正确的格式返回,它给我一个错误说明:
[MatchError: Some(($2a$12$HoNBl1DBlH.X,32,hetmam@yahoo.com)) (of class scala.Some)]
注意上面是我想要的正确值,但是我想严格获取第一列:密码,我以为我在这里做...
BCrypt.checkpw("mypassword", d._1)
但是我只是在 Result.headOption 匹配上不断收到匹配异常错误,d._1 不是假设只给出 `password 列值吗?
【问题讨论】:
标签: scala playframework slick slick-3.0