我有两个 mysql 表: Owners & Pets
业主案例类:
Owner(id: Int, name: String, age: Int)
宠物箱类:
Pet(id: Int, ownerId: Int, type: String, name: String)
我想从这些表中创建 OwnerAndPets 列表:
case class OwnerAndPets(ownerId: Int,
name: String,
age: String,
pets: List[Pet])
(出于迁移目的,我想将这些表移动为 mongodb 的集合,集合文档将是 OwnerAndPets 对象)
我有两个问题:
当我在 Owner & Pet 上使用 join with quill 时,我会得到元组列表,
[(Owner, Pet)]
如果我的主人宠物很少,我会得到:[(Owner(1, "john", 30), Pet(3,1,"dog","max")), (Owner(1, "john", 30), Pet(4,1,"cat","snow"))]
我需要它
(Owner(1, "john", 30), [Pet(3,1,"dog","max"), Pet(4,1,"cat","snow")])
我怎样才能做到这一点?
当我在 Owner & Pet 上使用带有 quill 的 join 时,我不会得到没有宠物的所有者,这很好,因为这就是它应该是的,但在我的脚本中,在这种情况下,我想创建如下对象:
OwnerAndPets(Owner(2, "mark", 30), List[])
将不胜感激任何帮助,谢谢
这是我的加入查询:
query[Owner].join(query[Pet]).on((o, p) => o.id == p.o_id)