0

anorm を使用して play2 モジュールから mysql データベースをクエリするときに、パターン マッチングを使用しようとしています。コードは次のようになります。

def test= Action {
    DB.withConnection { implicit c =>
    val entities = SQL("SELECT entity.idEntity, entity.name FROM entity")().collect {
        case Row(id:Int, name:String) => Entity(id, name)
  }
  printList(entities.toList)

}

しかし、 name:String は何にも一致しません (すでに整数のみに一致しようとしており、正常に動作しています)。私のデータベースでは、エンティティ テーブルの「名前」列の型は varchar(45) です。

不足しているものはありますか?

4

2 に答える 2

0

および名前付きワイルドカードで一致を試みることができRowます。Int

scala> new Row(0,"foo")
res0: Row = Row(0,foo)


scala> res0 match{
     | case Row(i: Int,s @ _) => println(i + " " + s)
     | }
0 foo
于 2013-04-01T18:23:49.310 に答える