>我用NestJS和ORM TypeORM做一个API
我有实体:
用户
关系类型
用户关系类型(具有用户和关系类型外键)
和关系(与用户关系类型外键)
并且需要找到所有的关系,但来自特定的用户所以我需要在某个地方声明"user.id = id"
我已经用createQueryBuilder做到了这一点
this.repo
.createQueryBuilder('relationship')
.innerJoinAndSelect(
'relationship.userRelationshipType',
'userRelationshipType',
)
.innerJoinAndSelect(
'userRelationshipType.user',
'user',
'user.id = :id',
{ id: id },
)
.innerJoinAndSelect(
'userRelationshipType.relationshipType',
'relationshipType',
)
.getMany()
这是工作但我不高兴,因为我想用 .find 或 findOne 完成我的所有请求
当我在做
this.repo.find({
relations: [
'userRelationshipType',
'userRelationshipType.user',
'userRelationshipType.relationshipType',
],
where: {userRelationshipType: {user: {id: id}}}
});
那不行...但是在文档中据说要这样做...我可以找到所有内容,但可以应用好的地方条件(或加入条件)你有什么想法吗?
我也尝试过加入,但我有点迷茫
谢谢:)
如果你使用类验证器,那么你可以很容易地做到这一点。
-->提供两个表之间的关系。
--> @exclude您不想在模型中选择的字段是什么。
-->别忘了提到导入类验证器包。
谢谢。
这里的例子给你
@Exclude()
@Column({ name: 'password' })
public password: string;