微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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))

希望它更短.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐