带有嵌套对象道具的 pg-promise ColumnSet?
pg-promise ColumnSet with nested object prop?
对象子项作为列道具的正确语法是什么?
const cs = new pgp.helpers.ColumnSet([
{
name: 'uid',
prop: 'id'
}, {
name: 'created_at'
prop: 'member.created_at // <-- error
}
])
似乎无法正常工作。
虽然常规 pg-promise query formatting (using Named Parameters) supports nested properties, specifically helpers 没有,但由于某些与模板相关的复杂性。
不过没必要,因为ColumnSet syntax for columns is very flexible (see type Column),支持动态属性分辨率
只需更新列以使用 init
,动态获取值:
{
name: 'created_at',
init: c => c.source.member.created_at
}
对于字段,我们转到source
对象,如per documentation,取我们需要的。
替代语法:
{
name: 'created_at',
init(c) {
// with this syntax, this = c.source
return this.member.created_at;
}
}
对象子项作为列道具的正确语法是什么?
const cs = new pgp.helpers.ColumnSet([
{
name: 'uid',
prop: 'id'
}, {
name: 'created_at'
prop: 'member.created_at // <-- error
}
])
似乎无法正常工作。
虽然常规 pg-promise query formatting (using Named Parameters) supports nested properties, specifically helpers 没有,但由于某些与模板相关的复杂性。
不过没必要,因为ColumnSet syntax for columns is very flexible (see type Column),支持动态属性分辨率
只需更新列以使用 init
,动态获取值:
{
name: 'created_at',
init: c => c.source.member.created_at
}
对于字段,我们转到source
对象,如per documentation,取我们需要的。
替代语法:
{
name: 'created_at',
init(c) {
// with this syntax, this = c.source
return this.member.created_at;
}
}