【发布时间】:2019-10-12 00:00:06
【问题描述】:
列名的字符串或helpers.sets 接口中是否有任何语法可以跳过数据源中不存在的属性的列?
现在,我需要将 ColumnConfig 创建为
new helpers.Column({ name, skip: c => !c.exists })
对于每一个可能的列。
如果有类似的东西就好了:
pgp.helpers.sets(values, SomeRepository.cs.update, skipNonExisting);
或至少:
pgp.helpers.ColumnSet(['column1*', 'column2*']);
其中 *(或任何其他方便的符号)表示该列在源中是可选的,它不会抛出 "Property 'name' doesn't exist."
helpers.sets 需要这个(update 不需要,因为我有一些重要的更新 SQL)。
如文档所述 (http://vitaly-t.github.io/pg-promise/helpers.html#.sets),当未指定集合中的列参数时,将使用数据对象的属性。
在我需要对某些列进行特殊格式设置之前,它可以正常工作,然后设置仅适用于 ColumnsSets 中已定义的列(如果指定)。
【问题讨论】:
-
That works fine until I need special formatting for some column, and then sets works only for defined columns in ColumnsSets if specified.我不确定这里有什么问题。添加示例会有所帮助。
标签: pg-promise