光滑表查询:识别值时出现问题

时间:2013-07-12 21:57:57

标签: database scala nested slick scalatra

在这种情况下,有谁可以告诉我原因:

Query(Users) foreach {case (userId, userName) =>       
    println(userId + ", " + userName) }

Scala识别userId,但在这种情况下:

val l = List[(Int, String)]()

Query(Users) foreach {
   case (userId, userName) =>
     l::(foo(List[(userId, userName)])) 
}
它不是吗? (例如,“=>”右侧的userId在第二种情况下被识别,但不是第一种情况)

用户是一个光滑的数据库,如下所示:

object Users extends Table[(Int, String)]("Users") {

  def userId          = column[Int]("UserId", O.PrimaryKey, O.AutoInc)
  def userName        = column[String]("UserName")

  def * = userId ~ userName
}

1 个答案:

答案 0 :(得分:1)

我认为你的意思是:

l::(foo(List((userId, userName))))

当您在方括号之间放置内容时,您尝试键入列表,我假设您确实想要将Tuple userIduserName添加到列表中。

如果您想要做的只是将List放入Tuple并且您不需要Query(Users) foreach { tup => l::(foo(List(tup))) } 提取器,您也可以这样写它:

{{1}}