使用Scala列表和Slick

时间:2018-05-02 16:53:02

标签: scala list slick

我在我的scala play项目中有以下功能:

 def teamMainPlayer (teamId: Option[String]): String ={
      val playersList = Players.getAll(p => (p.team === teamId.getOrElse("NULL")) && (p.role === "Main Player") )
      playersList.head.playerId
    } 

}

我收到错误:

 value head is not a member of scala.concurrent.Future[Seq[model.Player]]

我的目标是返回被视为“主要播放器”的播放器的ID

1 个答案:

答案 0 :(得分:3)

playersList是包含列表的Future(实际上是Seq)。您可以以阻止方式获取Future的值(不推荐),也可以让函数返回Future并执行此操作:

playersList.map(_.head.playerId)

在任何一种情况下,我建议您阅读有关期货的更多信息:https://docs.scala-lang.org/overviews/core/futures.html