49

如何使用 Slick Lifted Embedding 更新多个列?这份文件不多说。

我希望它是这样的

Query(AbilitiesTable).filter((ab: AbilitiesTable.type) => ab.id === ability_id).map((ab: AbilitiesTable.type) => (ab.verb, ab.subject)).update("edit", "doc")
4

2 回答 2

77

使用最新版本的 Slick,这种编写方式有效:

Users.filter(_.id === filterId)
     .map(x => (x.name, x.age))
     .update(("john", 99))

如果您要更新多个属性,请注意记住额外的括号,否则您可能会收到编译器警告。

于 2014-01-14T17:34:31.630 回答
76

我想到了。应该是这样的

val map = Query(AbilitiesTable)
  .filter(_.id === ability_id)
  .map(ab => ab.verb ~ ab.context)

map.update(("", ""))

Typesafe,为什么您的文档如此糟糕?我必须用谷歌搜索几乎所有愚蠢的事情,或者花几个小时研究单元测试。请改进它。谢谢。

于 2013-05-26T08:18:18.323 回答