这是我的视图文件,我使用视图从数据库中获取数据
@ViewEntity({
name: 'vw_invoices',
expression: (connection: Connection) => connection.createQueryBuilder()
.select('invoice.id', 'id')
.addSelect('invoice.invoiceno', 'invoiceno')
.addSelect('invoice.description', 'description')
.addSelect('invoice.taxrate', 'taxrate')
.addSelect('invoice.issuedate', 'issuedate')
.addSelect('invoice.duedate', 'duedate')
.addSelect('invoice.note', 'note')
.addSelect('invoice.taxamount', 'taxamount')
.addSelect('invoice.subtotal', 'subtotal')
.addSelect('invoice.total', 'total')
.addSelect('invoice.updated_at', 'updated_at')
.addSelect('invoice.updated_by', 'updated_by')
.addSelect('invoice.created_at', 'created_at')
.addSelect('invoice.created_by', 'created_by')
.addSelect("items.description","itemsDescription")
.addSelect("items.item","itemsItem")
.addSelect("items.price","itemsPrice")
.addSelect("items.quantity","itemsQuantity")
//.leftJoin(Items,"items","items.id = invoice.itemId")
.leftJoin(Items,"items","items.idInvoice = invoice.id")
.from(Invoice, 'invoice')
.where('invoice.tenant_db_login = substring_index(user(),\'@\',1)'),
})
这是我想从另一张桌子上得到的
@ViewColumn({name: 'itemsDescription'})
itemsDescription:string[];
@ViewColumn({name: 'itemsItem'})
itemsItem:number[];
@ViewColumn({name: 'itemsPrice'})
itemsPrice:number[];
@ViewColumn({name: 'itemsQuantity'})
itemsQuantity:number[];
}
但最终结果是我在邮递员那里得到的结果,例如发票有两个项目,所以结果显示它们两次 我希望它们像这样的数组 (itemsQuantity:number[];) 但它不起作用
[
{
"id": 1,
"invoiceno": "1",
"description": "facture",
"taxrate": 10,
"issuedate": "2021-07-14T23:00:00.000Z",
"duedate": "2021-07-08T23:00:00.000Z",
"note": "facture",
"taxamount": 10,
"subtotal": 100,
"total": 100,
"updatedAt": "2021-06-16T23:00:00.000Z",
"updatedBy": 14,
"createdAt": "2021-07-14T23:00:00.000Z",
"createdBy": 25,
"itemsDescription": "ahla",
"itemsItem": 23,
"itemsPrice": 23,
"itemsQuantity": 23
},
{
"id": 1,
"invoiceno": "1",
"description": "facture",
"taxrate": 10,
"issuedate": "2021-07-14T23:00:00.000Z",
"duedate": "2021-07-08T23:00:00.000Z",
"note": "facture",
"taxamount": 10,
"subtotal": 100,
"total": 100,
"updatedAt": "2021-06-16T23:00:00.000Z",
"updatedBy": 14,
"createdAt": "2021-07-14T23:00:00.000Z",
"createdBy": 25,
"itemsDescription": "salem",
"itemsItem": 25,
"itemsPrice": 33,
"itemsQuantity": 25
}
]