#typescript #orm #typeorm
Вопрос:
Итак, у меня есть эти сущности
@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
}
Я хочу выбрать всех животных по заданному идентификатору пользователя с помощью take и skip. У меня возникли трудности, так как на сущности нет обратной связи Animal.user
.
Ответ №1:
вот пример использования querybuilder:
const animals = await User.createQueryBuilder('user')
.leftJoin('user.animals', 'animals')
.where('user.id = :userId', {
userId: userId,
})
.select(['animals'])
.take(take)
.skip(skip)
.getMany();