光滑的:我需要什么类型才能通过视图中的列表进行迭代

时间:2017-10-08 03:05:56

标签: scala playframework slick

下面的代码可以找到用户显示的最新帖子,但现在我想获取用户创建的所有帖子。我怎么能实现呢?

让我感到困惑的是我应该回来的类型。它是Future [Option [Seq [Blog]]]或Future [Seq [Option [Blog]]还是有更好的解决方案?

  def find(user: User): Future[Option[Blog]] = {
    val blogQuery = blogs.filter(_.userID === user.userID.toString).sortBy(_.createdAt.desc)

     db.run(blogQuery.result.headOption).map { dbBlogOption =>
       dbBlogOption.map {
         dbBlog => Blog(None, dbBlog.title, dbBlog.content, UUID.fromString(dbBlog.userID), DateTime.parse(dbBlog.createdAt))
      }
    }
  }

1 个答案:

答案 0 :(得分:1)

只需忽略.headOption即可获得未来[Seq [Blog]]。 请注意,如果找不到它,它可以为空,因此您不需要选项。