我有两个案例类
case class Foo(id: int, foo: String)
和
case class Bar(id: Int, bar: String, fooId: Int)
以标准方式映射到表:
class FooTable(tag: Tag) extends Table[Foo](tag, "FOO") {
...
}
最后我有两个表格查询 val foos = TableQuery[FooTable]
和 bars = TableQuery[BarTable]
现在我想定义一个多表查询,比如说:
val fooBars = foo leftJoin bars on (_.id === _.fooId)
但是,这会返回一个元组列表(foo, bar)
。是否可以创建case class FooBar(foo: Foo, bar: Bar)
并以某种方式将fooBars
查询的结果映射到FooBar
的序列?使用未命名的元组会成为一场噩梦(特别是当我使用较小的构建块构建更大的查询时)