Идентификатор ссылки Ent.go, вложенный в запрос
У меня есть список идентификаторов партнеров и карта идентификаторов партнеров для списка идентификаторов клиентов.
Я хотел бы запросить партнеров с клиентами, извлекая только партнеров в списке и только их связанных клиентов, которые существуют на карте.
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())
В настоящее время я просто передаю список всех идентификаторов клиентов, а затем повторно фильтрую постфактум. Но надеялся, что есть более приятный способ.
Можно ли каким-то образом сослаться на распакованный итератор partnerIds в подзапросе клиента? Или просто лучший способ в целом, который мне не хватает.