簡體   English   中英

光滑的表查詢:無法識別值

[英]Slick table Query: Trouble with recognizing values

誰能告訴我為什么在這種情況下:

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,但在第一種情況下不會識別)

Users是一個光滑安裝的數據庫,如下所示:

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

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

  def * = userId ~ userName
}

我認為您的意思是:

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

當您將內容放在方括號之間時,您正在嘗試鍵入列表,並且我假設您實際上是想將userIduserNameTuple添加到List中。

如果您只想將所有內容放入該List ,而無需該Tuple提取器,則也可以這樣編寫:

Query(Users) foreach { tup =>     
  l::(foo(List(tup))) 
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM