【问题标题】:How to get String value from Rep[String] using slick 3 in Play scala?如何在 Play scala 中使用 slick 3 从 Rep[String] 获取字符串值?
【发布时间】:2016-11-12 11:10:28
【问题描述】:

我有一个返回 Future Option 的 DAO 方法,它是这样的:

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)

【问题讨论】:

    标签: scala playframework slick slick-3.0 playframework-2.5


    【解决方案1】:

    获取result后可以查看密码:

    Users.filter(_.email === username).result.map(_.headOption.filter(user => password.isBcrypted(user.password)))
    

    【讨论】:

    • 谢谢,这很顺利,但我仍然有一个问题,关于 Rep in slick 是什么?有没有更简单的方法来从中获得价值?
    • Rep 是在 Slick 中表示列的一种方式。它不是用来获取值的东西,而是用来写查询的东西。
    猜你喜欢
    • 1970-01-01
    • 2021-02-17
    • 1970-01-01
    • 2014-09-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-11
    相关资源
    最近更新 更多