我正在查看一个 SOQL 查询,它可能已经过时了,或者使用了它们神奇的field__r.foreign_table连接语法的某些方面,代码包含对
USER_JOBS__R
在当前对象上没有类似的字段存在的情况下,但是有名为USER和JOBS的表,其中 JOBS 包含对 USER 的查找。
有没有人将其视为 SOQL 语法的一部分?
我正在查看一个 SOQL 查询,它可能已经过时了,或者使用了它们神奇的field__r.foreign_table连接语法的某些方面,代码包含对
USER_JOBS__R
在当前对象上没有类似的字段存在的情况下,但是有名为USER和JOBS的表,其中 JOBS 包含对 USER 的查找。
有没有人将其视为 SOQL 语法的一部分?
首先,看一下关系查询的文档,它会包含你需要的一切。
因为该表USER_JOBS__R
是复数形式,并且以__R
它的结尾很可能是父子查询。 USER_JOBS__R
称为“子关系名称”,并在创建查找字段时创建。如果您找到定义子父关系的查找,您可以通过查看字段定义来确认这一点(注意__R
不会出现,因为这仅在 API 中需要)。一般来说,如果您进行查找,例如从应聘者到工作,其名称为JOB__C
,则子关系名称将是复数形式并__C
替换__R
为 给您JOB__R
。这只是默认设置,您可以为子关系名称选择任何您想要的名称。知道这一点后,您可以执行以下查询以向您提供所有申请人以及每项工作:
[select id, (select id from APPLICANTS__R) from JOB__C]
对于您的场景,我假设有一些“作业”对象具有对 User 对象的查找,可能USER__C
具有子关系名称USER_JOBS__R
。
您所指的通常称为关系字段(以“__r”结尾的字段)
这是在查找(父子)关系中查询字段的语法。