我有四个桌子。
PASSENGER(USER_ID)> USER(AIRPORT_ID)> AIRPORT(CITY_ID)> CITY(COUNTRY_ID)> COUNTRY。
我需要从一个数据库中获取DB乘客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'
...
}
}
}