如何在 Play scala 中使用 slick 3 从 Rep[String] 获取字符串值?
How to get String value from Rep[String] using slick 3 in Play scala?
我有一个 DAO 方法,其中 returns 一个 Future Option,它是这样的:
def authenticate(username: String, password: String): Future[Option[User]] = {
val query = db.run(Users.filter(x => x.email === username && password.isBcrypted(x.password.toString())).result).map(_.headOption)
query
}
问题是,password.isBcrypted(x.password.toString()),我试图获取 x.password 的值,但它是 Rep[String],我试图找到如何从 Rep[T] 中获取值但无法提出解决方案。
有什么好的方法吗?
解决方案
val query = db.run(Users.filter(_.email === username).result.map(_.headOption.filter(user => password.isBcrypted(user.password)))).map(_.headOption)
获取result
:
后可以查看密码
Users.filter(_.email === username).result.map(_.headOption.filter(user => password.isBcrypted(user.password)))
我有一个 DAO 方法,其中 returns 一个 Future Option,它是这样的:
def authenticate(username: String, password: String): Future[Option[User]] = {
val query = db.run(Users.filter(x => x.email === username && password.isBcrypted(x.password.toString())).result).map(_.headOption)
query
}
问题是,password.isBcrypted(x.password.toString()),我试图获取 x.password 的值,但它是 Rep[String],我试图找到如何从 Rep[T] 中获取值但无法提出解决方案。
有什么好的方法吗?
解决方案
val query = db.run(Users.filter(_.email === username).result.map(_.headOption.filter(user => password.isBcrypted(user.password)))).map(_.headOption)
获取result
:
Users.filter(_.email === username).result.map(_.headOption.filter(user => password.isBcrypted(user.password)))