typescript - TypeORM,多对多关系用户 - 动物,给定用户 ID 如何查询动物
问题描述
所以我有这个实体
@Entity()
class User {
@PrimaryGeneratedColumn()
id: number
@Column()
email: string
@Column()
name: string
@ManyToMany(x => Animal)
@JoinTable()
animals: Animal[]
}
@Entity()
class Animal {
@PrimaryGeneratedColumn()
id: number
@Column()
name: string
}
我想通过给定的用户 ID 选择所有动物并跳过。Animal.user
我遇到了困难,因为实体上没有反比关系。
解决方案
这是使用查询构建器的示例:
const animals = await User.createQueryBuilder('user')
.leftJoin('user.animals', 'animals')
.where('user.id = :userId', {
userId: userId,
})
.select(['animals'])
.take(take)
.skip(skip)
.getMany();
推荐阅读
- javascript - Ember:将子组件的操作发送给父组件
- java - 我在将图像传递给下一个活动时遇到问题,似乎图像没有及时加载到变量中
- go - 如何定义动态接口/结构
- r - R:名称错误(x)<-值:“名称”属性必须与向量的长度相同
- java - 如何将一个 int 数组和一个字符串数组排序为一个已排序的字符串数组
- sql-server - 数据在 trans 和 rollback 之间存储在哪里......?
- android - Moshi:解析单个对象或对象列表(kotlin)
- android - 如何知道用户何时在 PDFView 中滑动到下一页?- 安卓
- javascript - 在单独的函数中断开 websocket
- css - 将 jQuery 代码迁移到 Angular 6 的问题