我有一个 partnerIds 列表和一个 partnerIds 到 customerIds 列表的映射。
我想查询合作伙伴与客户,只检索列表中的合作伙伴,以及地图中存在的相关客户。
partnerIds := []int{ 1, 2 }
partnerMap := make(map[int][]int)
partnerMap[1] = []int{ 100, 106 }
partnerMap[2] = []int{ 101, 206, 207 }
results := db.Partner.Query().
Where(partner.IDIn(partnerIds...)).
WithCustomers(func(q *ent.CustomerQuery) {
q.Where(customer.IDIn(partnerMap[xxx]...)) // Something here instead of xxx
}).
AllX(context.Background())
目前我只是传入所有 customerIds 的列表,然后在事后重新过滤。但希望有更好的方法。
是否可以在客户子查询中以某种方式引用解压缩的 partnerIds 迭代器?或者只是我缺少的一种更好的方式。