Typeorm how to get relations of relations

We can load sub-relations by using 'relation.subrelation' within the relations array itself like this:

relations: ['relation1', 'relation2', 'relation2.subrelation1']

So for your case, instead of using join you can simply do something like this:

this.entityManager.findOne(ChatRoomEntity, {
        where: {id: roomToJoin.id},
        relations: ['activeUsers', 'messages', 'messages.fromUser'],
      }).then(roomEntity => {
...

This is specified here: https://github.com/typeorm/typeorm/blob/master/docs/find-options.md#basic-options


Using QueryBuilder

await getRepository(UserEntity)
   .createQueryBuilder('user')
   .leftJoinAndSelect('user.profile', 'profile')
   .leftJoinAndSelect('profile.images', 'images')
   .getMany()

Using FindOptions

await getRepository(UserEntity).find({ 
   relations: ['profile', 'profile.images'] 
})

Tags:

Mysql

Typeorm