Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使CreateQueryBuilder返回嵌套对象而不是一个平面对象_Javascript_Node.js_Typescript_Typeorm - Fatal编程技术网

Javascript 使CreateQueryBuilder返回嵌套对象而不是一个平面对象

Javascript 使CreateQueryBuilder返回嵌套对象而不是一个平面对象,javascript,node.js,typescript,typeorm,Javascript,Node.js,Typescript,Typeorm,我在用Typescript和TypeORM。使用CreateQueryBuilder,我希望接收嵌套对象。相反,我接收的是一个平面对象,如第二块所示。我怎样才能解决这个问题 const x = await getConnection() .createQueryBuilder() .select(['reportHead', 'order', 'workOrder']) .from('report_head', 'reportHead') .innerJoin('reportHe

我在用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"
}
{
  "reportHead": {
    "id": ...
  },
  "workOrder": {
    "id": ...
  },
  "order": {
    "id": ...
  }
}
而是有这样一个嵌套对象:

{
  "reportHead_id": "asd",
  "reportHead_number": "123",
  "workOrder_id": "dsa",
  "workOrder_status: "OK",
  "order_id": "sda",
  "order_whatev": "ks"
}
{
  "reportHead": {
    "id": ...
  },
  "workOrder": {
    "id": ...
  },
  "order": {
    "id": ...
  }
}

解决方案是不使用.execute(),而是使用.getMany()。

解决方案是不使用.execute(),而是使用.getMany()