Scala Anorm使用列分辨率选择2个值

时间:2016-07-19 03:35:57

标签: scala anorm

根据文档(https://www.playframework.com/documentation/2.5.x/Anorm),我可以执行以下操作从2列中检索值:

val res: (String, Int) = SQL"SELECT text, count AS i".map(row =>
  row[String]("text") -> row[Int]("i")
)

这不编译......

原因:

  

SimpleSql [(String,Int)]类型的表达式不符合预期类型(String,Int)

我只是在寻找一种方法(对于anorm 2.5+)。我正在使用常规解析器,但我正在寻找这种更简洁的方法。

1 个答案:

答案 0 :(得分:1)

代码不完整:要获得单个结果作为此类元组,必须使用.single组合子。

val res: (String, Int) = SQL"SELECT text, count AS i".map(row =>
  row[String]("text") -> row[Int]("i")
).single
  

使用Anorm分级器更容易获得元组结果:see examples