Nestjs viewentity 未按需要显示

时间:2021-07-13 12:30:43

标签: mysql node.js view nestjs typeorm

这是我的视图文件,我使用视图从数据库中获取数据

@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
}

]

0 个答案:

没有答案