【问题标题】:How to make a query in Slick 3 to select from DB with count from children tables如何在 Slick 3 中进行查询以从具有子表计数的数据库中进行选择
【发布时间】:2015-08-25 09:59:56
【问题描述】:
如何在 slick 3.0 中进行此查询?
Select *,(SELECT COUNT(*) from flashcards WHERE setId = flashcards_sets.id ) as allCount,(SELECT COUNT(*) from flashcards WHERE studied = true AND setId = flashcards_sets.id ) as studiedCount FROM flashcards_sets;
【问题讨论】:
标签:
scala
slick
slick-3.0
【解决方案1】:
private def filterByFlashCardQuery(id: Int): Query[FlashCards, FlashCard, Seq] =
flashcards.filter(_.setId === id && _.studied = true)
def findByFlashcardLength(flashcardId: Int):Future[Int] = {
try db.run(filterByFlashCardQuery(flashcardId).length.result)
finally println("db.close")//db.close
}
```