gpt4 book ai didi

sql - typeorm 查询生成器 : select relation of relation only

转载 作者:行者123 更新时间:2023-12-04 14:45:16 26 4
gpt4 key购买 nike

所以我有这些实体:

Group {
id: number;
name: string;
persons: Person[];
}

Person {
name: string;
items: Item[];
}

Item {
name: string;
active: boolean;
}

我有什么可用的 : 一组组 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();

但我只得到一个数组 group (没有任何关系)具有有效 item在里面。

如果这甚至可以通过单个查询实现,我需要更改什么?

最佳答案

尝试使用这个:

 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();

关于sql - typeorm 查询生成器 : select relation of relation only,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60758496/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com