Scala 如何创建通用方法来更新Slick中的多个列?

Scala 如何创建通用方法来更新Slick中的多个列?,scala,slick,slick-3.0,Scala,Slick,Slick 3.0,我有这个通用方法来更新一列 def updateColumn[V](id:Int, 列:表[UserRow]=>Rep[V], 值:V)(隐式形状:形状[\uuser.id==id).map(列).update(值)) 所以,我可以这样使用它 updateColumn(1,user=>user.firstName,“firstName”) 我想将其用于多个列 updateColumn(1,user=>(user.firstName,user.lastName),(“firstName”,“l

我有这个通用方法来更新一列

def updateColumn[V](id:Int,
列:表[UserRow]=>Rep[V],
值:V)(隐式形状:形状[\uuser.id==id).map(列).update(值))
所以,我可以这样使用它

updateColumn(1,user=>user.firstName,“firstName”)
我想将其用于多个列

updateColumn(1,user=>(user.firstName,user.lastName),(“firstName”,“lastName”))
但是它有一个编译错误

No matching Shape found
Required level: slick.jdbc.PostgresProfile.api.FlatShapeLevel
Source type: slick.lifted.Rep[(String, String)]

有可能创建这样的方法吗?

事实证明,这是可能的

def更新[F,G,K](id:Int,
列:表[UserRow]=>F,
值:K)(隐式形状:形状[\uuser.id==id).映射(列).更新(值)