У меня есть следующие скользкие объекты:
class Person(personId, houseId, carId)
class House(houseId)
class Car(carId)
Я хочу выбрать человека и его дополнительный дом и машину, мой запрос:
val query = personTable
.filter(_.personId === personId)
.joinLeft(houseTable)
.on(_.houseId === _.houseId)
.joinLeft(carTable)
.on(_._1.carId === _.carId)
.result
.headOption
Однако, тип возвратазапроса выглядит немного забавно, я ожидаю, что это будет кортеж (человек, дом, машина):
Option[(Person, Option[House], Option[Car])]
Но на самом деле это кортеж (кортеж (человек, дом), машина):
Option[((Person, Option[House]), Option[Car])]
Данные, которые возвращаются, действительно верны, они просто в необычной структуре, может быть, я не правильно выполняю множественные объединения выше?