sir*_*nto 2 sql node.js typeorm nestjs
所以我有这些实体:
Group {
id: number;
name: string;
persons: Person[];
}
Person {
name: string;
items: Item[];
}
Item {
name: string;
active: boolean;
}
Run Code Online (Sandbox Code Playgroud)
我有什么:一组组id 的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();
Run Code Online (Sandbox Code Playgroud)
但我只得到一组group(没有任何关系)其中有效item的。
如果这甚至可以通过单个查询实现,我需要更改什么?
小智 7
尝试使用这个:
this.groupRepository.createQueryBuilder('group')
.leftJoinAndSelect('group.persons', 'persons')
.leftJoinAndSelect('persons.items', 'items')
.where('items.active =:active', {active: true})
.andWhere('group.id IN (:...groupIds)', {groupIds})
.getMany();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8035 次 |
| 最近记录: |