Почему это не работает, чтобы комбинировать инструкцию SELECT и DELETE в запросе Slick? как в:Как смешать выбор и удаление в транзакции Slick
val query = (for {
item <- SomeTable
_ <- OtherTable.filter(_.id === item.id).delete
} yield()).transactionally
"Не удается разрешить символ" транзакционно"
(без .transactionally
, это Query[Nothing, Nothing, Seq]
, если это помогает) в то время как два действия работают отдельно:
val query = (for {
item <- SomeTable
} yield()).transactionally
,
val query = (for {
_ <- OtherTable.filter(_.id === 2).delete
} yield()).transactionally
Try 'элемент <- SomeTable.result'. Я не могу получить второй пример для компиляции, «SomeTable» - это «TableQuery»? –
Я пробовал. Тогда я не могу использовать 'item' для фильтрации второй таблицы, удаления или нет (я обновил первый фрагмент, чтобы показать случай). Реальный запрос сложнее. – JulienD
@ insan-e 'SomeTable' является' TableQuery', да. После этого вы можете добавить «фильтр». Вы можете связать выбор операторов таким образом с помощью 'for' или удаления операторов, но не обоих. – JulienD