Scala 以案例类的形式从Slick 2.0查询中获取值

Scala 以案例类的形式从Slick 2.0查询中获取值,scala,slick-2.0,Scala,Slick 2.0,我正试图从Scala光滑的查询中获取底层querys案例类,这对我来说似乎比应该的更难。以下是我的编译器错误: [info]正在将18个Scala源代码编译到/home/target/Scala-2.11/classes。。。 [错误]/home/src/main/scala/com/core/address/AddressDAO.scala:30:类型不匹配; [错误]找到:scala.slick.lifted.Query[com.core.address.AddressDAO,com.cor

我正试图从Scala光滑的查询中获取底层querys案例类,这对我来说似乎比应该的更难。以下是我的编译器错误:

[info]正在将18个Scala源代码编译到/home/target/Scala-2.11/classes。。。
[错误]/home/src/main/scala/com/core/address/AddressDAO.scala:30:类型不匹配;
[错误]找到:scala.slick.lifted.Query[com.core.address.AddressDAO,com.core.protocol.address,Seq]
[错误]必需:选项[com.core.protocol.Address]
[错误]q

以下是我写的方法:

  def getAddress(otherAddress: String): Future[Option[Address]] = {
    future {
      val q = for (addr <- addresses if (addr.address == otherAddress)) yield addr
      q
    }
def getAddress(otherAddress:String):未来[选项[地址]]={
未来{

val q=for(addr您必须实际运行查询

q、 第一个选项是您可能想要使用的:

def getAddress(otherAddress: String): Future[Option[Address]] = {
    future {
      val q = for (addr <- addresses if (addr.address == otherAddress)) yield addr
      q.firstOption
    }
def getAddress(otherAddress:String):未来[选项[地址]]={
未来{

val q=for(addr我当然不是一个老练的专家,但在快速阅读了之后,我想知道在您的
未来
中包装这样的东西是否可行:

addresses.filter(_.address === "givenAddressString").firstOption

在这个文档下找不到?首先,我认为这已经过时了,因为2.0.0不再是一个里程碑,实际上是一件事。但你也应该看看。正如文档所说,“查询是使用调用器特性中定义的方法执行的(对于无参数版本,使用UnitInvoker)。有一个来自查询的隐式转换,因此您可以直接执行任何查询。“谢谢,这是我的断开连接:)很高兴提供帮助。祝您的项目好运!
addresses.filter(_.address === "givenAddressString").firstOption