我正面临一个非常烦人的问题,光滑的3.0.x:
让我们考虑一下:
case class DbUser(id: Int, username: String, phoneNumber: Option[String], email: Option[String])
val user = DbUser(1, "User", None)
如果我跑:
users.filter(_.id === user.id).update(user)
然后,即使我发送的数据为None,字段的phonenumber也将设置为null,但我知道,如果没有定义这个字段,我怎么能不更新字段呢?任何想法>
答案 0 :(得分:0)
要仅更新选择字段,请执行以下操作
仅更新用户名:
users.filter(_.id === user.id)
.map(_.username)
.update(user.username)
答案 1 :(得分:0)
您可以对_.phoneNumber.isDefined
,
import driver.api._
users.filter(_.phoneNumber.isDefined)
.map(_.phoneNumber)
.update(Some("3543453545"))