如何打印灵活查询的结果
How do I print the results of a slick query
我有一个名为 Materials 的 table。我使用 slicks 模式自动生成为我创建了 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]
澄清一下,我只使用 slick 3.1.0 而不是 play slick
您可以使用 map 评估具有副作用的函数:
Materials.map(println(_.name))
您编写了一个Query,但需要通过调用其结果方法将其转换为一个Action
val query = materials.map(_.name)
val action = query.result
val results: Future[ Seq[Option[ String ] ]] = db.run( action)
results.foreach( println )
数据库对象需要根据您使用的 Slick 版本进行初始化。例如 Slick or Play Slick
我假设你有这个
val materials = TableQuery[Materials]
我有一个名为 Materials 的 table。我使用 slicks 模式自动生成为我创建了 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]
澄清一下,我只使用 slick 3.1.0 而不是 play slick
您可以使用 map 评估具有副作用的函数:
Materials.map(println(_.name))
您编写了一个Query,但需要通过调用其结果方法将其转换为一个Action
val query = materials.map(_.name)
val action = query.result
val results: Future[ Seq[Option[ String ] ]] = db.run( action)
results.foreach( println )
数据库对象需要根据您使用的 Slick 版本进行初始化。例如 Slick or Play Slick
我假设你有这个
val materials = TableQuery[Materials]