Сделать CreateQueryBuilder возвращать вложенный объект вместо одного плоского объекта - PullRequest
0 голосов
/ 18 июня 2020

Я использую Typescript с TypeORM. Используя CreateQueryBuilder, я хочу получить вложенный объект. Вместо этого я получаю один плоский объект, представленный в блоке номер два. Как я могу это исправить?

const x = await getConnection()
  .createQueryBuilder()
  .select(['reportHead', 'order', 'workOrder'])
  .from('report_head', 'reportHead')
  .innerJoin('reportHead.workOrder', 'workOrder')
  .innerJoin('workOrder.order', 'order')
  .where(`order.customer.id = :customerId`, { customerId: req.user.customer.id })
  .execute();

Как мне избежать, чтобы данные выглядели так:

{
  "reportHead_id": "asd",
  "reportHead_number": "123",
  "workOrder_id": "dsa",
  "workOrder_status: "OK",
  "order_id": "sda",
  "order_whatev": "ks"
}

, а иметь такой объект neste:

{
  "reportHead": {
    "id": ...
  },
  "workOrder": {
    "id": ...
  },
  "order": {
    "id": ...
  }
}

1 Ответ

0 голосов
/ 19 июня 2020

Решением было не использовать .execute (), а .getMany ().

...