0
该方法使用Slick 3.1.x,它会正确返回类型为Future[List[Analysis]]
的对象,但列表始终为空。为什么是这样以及如何解决这个问题?Slick 3.1.x方法返回空列表
def readMany = {
val db = Database.forConfig("db1")
var list = new ListBuffer[Analysis]()
try {
val query = TableQuery[AnalysisDB]
val action = query.sortBy(_.name).result
val future = db.run(action).map(_.foreach {
case (analysis) => list += Analysis (analysis.sk, analysis.name)
})
Future { list.toList }
} finally db.close
}
此方法会重新调用Vector而不是List。注意该动作有一个'sortyBy',这个向量可以无序访问吗? – ps0604
如果你需要一个List,附加'.toList'到内部'map':'db.run(action).map(_。map {...} .toList)' 排序绝对不会丢失。 – retrospectacus