我正在使用Slick 3.1并进行以下设置:
case class Part1(...)
case class Part2(...)
case class Both(p1: Part1, p2 : Part2)
class Part1Row extends Table[Part1]
class Part2Row extends Table[Part2]
val p1s = TableQuery[Part1Table]
val p2s = TableQuery[Part2Table]
我想构建一个这样的查询:
val query =
for {
p1 <- p1s
p2 <- p2s
} yield Both(p1, p2)
这将允许:
query.filter(_.p1.attr === "Foo")
这可能吗?如果是这样的话?
p1和p2的类型为Part1Row,而Part2Row的类型不是Part1和Part2,因此它们不适合Both case类。此外,似乎我想要像Rep [Both]这样的东西,而不是赤裸裸的两个。