typeorm querybuilder innerjoin дает только первый элемент - PullRequest
0 голосов
/ 05 марта 2020

У меня есть этот построитель запросов:

this.repository.createQueryBuilder('house')
    .innerJoinAndSelect('house.items', 'items')
    .innerJoinAndSelect('house.owner', 'owner')
    .innerJoinAndSelect('house.rooms', 'rooms')
    .innerJoinAndSelect('rooms.name', 'name')
    .innerJoinAndSelect('rooms.roomitems', 'roomitems')
    .where({ 'house.id': id })
    .getOne().then(house => {
        // house.rooms.length === 1
    })

Я получаю свой полный объект с этим; список предметов, владелец и список комнат со всеми свойствами.

Проблема в том, что список комнат содержит только один элемент. Когда я использую .find, я нахожу четыре комнаты.

что я делаю не так?


Редактировать:

this.repository.findOne(id, {relation: ['rooms']}).then(house => {
    // house.rooms.length === 4
})
...