2016-06-01 13 views
1

Ich habe den folgenden Code in Slick, die ein Objekt Benutzer aktualisiert:Wie aktualisiert man eine Zeile, die eine Spalte in Slick 3.x auslässt?

val users = TableQuery[UserDB] 
val action = users.filter(_.id === user.id).update(user) 
val future = db.run(action) 
val result = Await.result(future, Duration.Inf) 

Aber es gibt ein Feld in dem Benutzerobjekt (Passwort), die ich will nicht zu aktualisieren. Wie lässt man es weg?

Antwort

7

Sie sollten Spalten auswählen map Operation vor einem update Betrieb mit:

case class User(name: String, age: Int, password: String, id: Int) 

val updatedUser = User("Pawel", 25, "topsecret", 123) 
val users = TableQuery[UserDB] 
val action = users.filter(_.id === updatedUser.id).map(user => 
    (user.name, user.age) 
).update(
    (updatedUser.name, updatedUser.age) 
) 
val future = db.run(action) 
val result = Await.result(future, Duration.Inf) 
Verwandte Themen