scala – Slick 3.0删除并返回值

如果我想在插入新行时返回值,我可以做类似的事情

val insertQuery = myTable returning myTable.map(_.id) += SomeData(someString)

删除时如何才能达到同样的效果

我试过了

val deleteQuery = myTable filter (_.id ===id) returning myTable.map(_.someColumn) delete

但显然这不会编译.

我可以求助于理解,但我想知道是否有更短的方式.

解决方法

我知道这样做的最好方法是做类似的事情:

val query = db.filter(....)
val action = for {
   results <- query.result
   _ <- query.delete
} yield results
db.run(action.withTransactionIsolation(TransactionIsolation.RepeatableRead))

希望它更短.

相关文章

共收录Twitter的14款开源软件,第1页Twitter的Emoji表情 Tw...
Java和Scala中关于==的区别Java:==比较两个变量本身的值,即...
本篇内容主要讲解“Scala怎么使用”,感兴趣的朋友不妨来看看...
这篇文章主要介绍“Scala是一种什么语言”,在日常操作中,相...
这篇文章主要介绍“Scala Trait怎么使用”,在日常操作中,相...
这篇文章主要介绍“Scala类型检查与模式匹配怎么使用”,在日...