У меня есть несколько таблиц, и мне нужно вернуть их все вместе с запросом Slick.Комплекс Slick Join Query
case class A(id: Int, name: String)
case class B(id: Int, name: String)
case class C(id: Int, name: String)
case class AtoC(aId: Int, dId: Int)
case class D(id: Int, name: String)
Предполагая, что у меня есть определения таблицы, соответствующие описанные выше классы случае, я хочу, чтобы вернуть что-то вроде (A, B, C, Seq[D])
, но я не могу найти способ, чтобы написать его там, где он будет даже скомпилировать.
Я пытался что-то вроде этого:
for {
a <- AQuery.innerJoin(B)....
...
AtoC <~ a.innerJoin(AtoCQuery).on(....)
, но это не будет даже скомпилировать.
Спасибо! Кажется, что это работает, но как я могу получить в конечном итоге желаемый кортеж: '(A, B, C, Seq [D])' '' Seq [D] 'часть является разницей? – Benny
Попробуйте заменить D на выходе (A, B, C, D) с другим для понимания, что-то вроде '(A, B, C, (для (...) yield D) .list)' –
'D' в этот контекст, однако, не повторяется, так что будет ли содержание моего для понимания? – Benny