pgpromise ColumnSet嵌套对象属性?

问题描述 投票:1回答:1

将对象子级用作列道具的正确语法是什么?

const cs = new pgp.helpers.ColumnSet([
  {
    name: 'uid',
    prop: 'id'
  }, {
    name: 'created_at'
    prop: 'member.created_at // <-- error
  }
])

似乎无法使它正常工作。

pg-promise
1个回答
1
投票

虽然常规pg-promise查询格式(使用Named Parameters)支持嵌套属性,但由于某些模板相关的复杂性,特别是helpers不支持嵌套属性。

但是,没有必要,因为列的ColumnSet语法非常灵活(请参见Column类型,并且支持动态属性解析。

只需更新列以使用init,即可动态获取值:

{
    name: 'created_at',
    init: c => c.source.member.created_at
}

对于该字段,我们以source的身份转到per documentation对象,并获取所需的内容。

© www.soinside.com 2019 - 2024. All rights reserved.