У меня есть, надеюсь, простой вопрос о Слике. Извиняюсь, если это хорошо задокументировано - возможно, я что-то упустил из виду при поиске.
У меня есть совокупный запрос, построенный следующим образом:
def doQuery(/* ... */) = for {
a <- Query(TableA)
b <- a.relationship.where // ...
c <- b.relationship.where // ...
} yield (a, b, c)
Это возвращает мне Query[(A, B, C)]
.
У меня также есть класс case:
case class Aggregate(a: A, b: B, c: C)
Я хотел бы преобразовать свой запрос в Query[Aggregate]
, чтобы мои коллеги-разработчики могли вызывать .list()
или .firstOption()
и получать List
или Option
в зависимости от ситуации.
Естественно, я выбрал метод .map()
для Query
, но у него есть неявный аргумент Shape
, с которым я не знаю, как обращаться.
Это просто в Slick? В настоящее время мы используем версию 1.0.1, но также возможно обновление до версии 2.0.
С наилучшими пожеланиями,
Дэйв