Typeorm Postgres карта вложенных отношений - PullRequest
1 голос
/ 07 октября 2019

У меня есть четыре таблицы.

ПАССАЖИР (USER_ID)> ПОЛЬЗОВАТЕЛЬ (AIRPORT_ID)> АЭРОПОРТ (CITY_ID)> ГОРОД (COUNTRY_ID)> СТРАНА.

Мне нужно взять из БД ПАССАЖИРСКИЙ ИД, ИМЯ ПОЛЬЗОВАТЕЛЯ, ИМЯ АЭРОПОРТА, ИМЯ ГОРОДА И ИМЕНИ СТРАНЫ На одном уровне. Примерно так:

{passengerId: 1, userName: 'Test', airportName: 'TestAirport', city: 'TestCity', country: 'TestCountry'}

И я попытался сделать вот так.

Но он возвращает мне вложенный объект:

await this.createQueryBuilder('passenger_user')
      .leftJoinAndSelect('passenger_user.user', 'user')
      .leftJoinAndSelect('user.homeAirport', 'airport')
      .leftJoinAndSelect('airport.city', 'city')
      .leftJoinAndSelect('city.country', 'country')
      .select([
        'passenger_user',
        'user',
        'airport',
        'city',
        'country'
      ])
      .where('passenger_user.email = :email', {email})
      .getOne();
{
  passenger: id,
  user: {userName: 'Test',
        airport:{
          airportName: 'TestAirport'
         ...
      }
  }
}
...