我有一张名为Materials的表。我使用了slicks schema auto generation来为我创建TableQuery类。
我无法弄清楚如何打印简单查询的结果。
Materials.map(_.name)
我试过
val m = Materials.map(_.name).toString()
println(m)
并获得结果
Rep(Bind)
如果我尝试
Materials.map(_.name).forEach(m => println(m))
我收到编译错误
value forEach is not a member of slick.lifted.Query[slick.lifted.Rep[Option[String]],Option[String],Seq]
澄清我正在使用光滑的3.1.0而不是播放光滑
答案 0 :(得分:2)
您编写了一个Query,但需要通过调用其结果方法
将其转换为Actionval query = materials.map(_.name)
val action = query.result
val results: Future[ Seq[Option[ String ] ]] = db.run( action)
results.foreach( println )
需要根据您使用的Slick版本初始化db对象。例如Slick或Play Slick
我认为你有这个
val materials = TableQuery[Materials]
答案 1 :(得分:0)
您可以使用地图评估带副作用的功能:
Materials.map(println(_.name))