Итак, у меня есть эти сущности:
Group {
id: number;
name: string;
persons: Person[];
}
Person {
name: string;
items: Item[];
}
Item {
name: string;
active: boolean;
}
Что у меня есть в наличии : массив идентификаторов групп groupIds
.
Моя цель : получить массив Item
, но только тот, который содержится в группе, которая group.id
находится в массиве групп, который у меня есть, а также имеет свойство active
true
.
Я пытался построить построитель запросов, например, так:
this.groupRepository.createQueryBuilder('group')
.innerJoin('group.persons', 'persons')
.innerJoinAndSelect('persons.items', 'items')
.where({'items.active': true, 'group.id': In(groupIds)})
.getMany();
Но я получаю только массив group
(без каких-либо отношений), в котором есть действительный item
.
Что мне нужно изменить, если это возможно даже одним запросом?