下面的代码可以找到用户显示的最新帖子,但现在我想获取用户创建的所有帖子。我怎么能实现呢?
让我感到困惑的是我应该回来的类型。它是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))
}
}
}
答案 0 :(得分:1)
只需忽略.headOption
即可获得未来[Seq [Blog]]。
请注意,如果找不到它,它可以为空,因此您不需要选项。