У меня есть четыре таблицы.
ПАССАЖИР (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'
...
}
}
}