我有带有 byId 的模型存储库类并保存方法
def byID(id:Long) = db.run{ query.filter(_.id === id).result }.map(_.headOption)
def save(model:User) = db.run{ query.filter(_.id===model.id).update(model) }
现在我想同时使用这两种方法,首先加载用户,然后更改某些内容,然后保存用户,就像这样
userRepository.byID(5L).map{_.map{user =>
val newuser = user.copy(name = "John")
userRepository.save(newuser)
}}
我怎样才能在一笔交易中做到这一点?