如何使用Slick Lifted Embedding更新多个列? This document并没有说太多。
我预计它会是这样的
Query(AbilitiesTable).filter((ab: AbilitiesTable.type) => ab.id === ability_id).map((ab: AbilitiesTable.type) => (ab.verb, ab.subject)).update("edit", "doc")
答案 0 :(得分:72)
我明白了。它应该是这样的
val map = Query(AbilitiesTable)
.filter(_.id === ability_id)
.map(ab => ab.verb ~ ab.context)
map.update(("", ""))
Typesafe,为什么你的文档太糟糕了?我几乎每一件傻事都要谷歌,或者通过单位测试挖几个小时。请改进它。感谢。
答案 1 :(得分:66)
使用Slick 2.x和3.x,这种写作方式有效:
Users.filter(_.id === filterId)
.map(x => (x.name, x.age))
.update(("john", 99))
如果要更新多个属性,请小心记住额外的括号,否则可能会收到编译器警告。