Ich möchte eine einzelne Zeile von Benutzer basierend auf ID abfragen. Ich habe folgende BlindkodeWählen Sie eine einzelne Zeile basierend auf ID in Slick
case class User(
id: Option[Int],
name: String
}
object Users extends Table[User]("user") {
def id = column[Int]("id", O.PrimaryKey, O.AutoInc)
def name = column[String]("name")
def * = id ~ name <>(User, User.unapply _)
def findById(userId: Int)(implicit session: Session): Option[User] = {
val user = this.map { e => e }.where(u => u.id === userId).take(1)
val usrList = user.list
if (usrList.isEmpty) None
else Some(usrList(0))
}
}
Es scheint mir, dass findById
ein Overkill ist eine einzelne Spalte zur Abfrage als Id Standard Primärschlüssel ist. Kennt jemand bessere Wege? Bitte beachten Sie, dass ich Play verwende! 2.1.0
Glauben Sie firstOption von lifted.Query in Slick 2.1 entfernt wurden? Ich glaube es war. http://slick.typesafe.com/doc/2.1.0/api/#scala.slick.lifted.Query –
Es ist weg - diese Antwort ist jetzt veraltet – BrokenGlass