TypeORM(MySQL)

编程入门 行业动态 更新时间:2024-10-08 00:34:50

<a href=https://www.elefans.com/category/jswz/34/1771285.html style=TypeORM(MySQL)"/>

TypeORM(MySQL)

我有 2 个具有以下关系的实体,

用户

@OneToMany(() => Photo, (photo) => photo.user)
photos: Photos[];

相片

@ManyToOne(() => User, (user) => user.photos)  
@JoinColumn({ name: 'user_id' })  
user: User;

我在以下查询中使用这些实体。预期结果是我收到前 10 个用户的照片。但是,除非我将

photos.id
(照片实体的PK)添加到所选字段列表中,否则此查询会返回丢失的照片。

const users = await userRepo
    .createQueryBuilder('user')
    .leftJoin('user.photos', 'photos')
    .select([
      'user.id',
      'photos.url',
      'photos.timestamp',
    ])
    .take(10).getMany();
回答如下:

使用实体管理器,然后以这种方式重构您的查询。

const users = await entityManager
.createQueryBuilder(User, 'user')
.leftJoinAndSelect('user.photos', 'photos')
.select('user')
.addSelect([
  'photos.url',
  'photos.timestamp',
])
.take(10).getMany();

更多推荐

TypeORM(MySQL)

本文发布于:2024-05-13 15:57:09,感谢您对本站的认可!
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:TypeORM   MySQL

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!