假设我想检索给定PermSet的每个对象的所有主细节字段。为什么我们可以提供SObject类型数组而不是ID?如何从第二个查询中检索SObjectType?

私有静态void getPermsetEntries(Id permSet){列表<String>条目=新列表<String>();for(ObjectPermissions obp:[SELECT Id,SObjectType(对象类型),权限读取,权限编辑,权限创建,权限删除FROM对象权限WHERE ParentId=:permSetORDER BY SObjectType]){entries.add(obp.SObjectType);}FieldDefinition[]实体=[SELECT DataType,限定ApiName,实体定义ID,实体定义。开发商名称FROM字段定义WHERE EntityDefinitionId in:条目AND数据类型类似于“主数据-%”];for(字段定义定义:实体){system.debug(定义);}}

1答案1

重置为默认值
1

为什么?

我们不知道,因为文档没有告诉我们。大概是为了在执行查询时让我们的生活更轻松,因为我们不需要查询自定义对象实体定义查询之前字段定义.

如何从第二个查询中检索SObjectType?

使用实体定义。限定ApiName,如文档.

2
  • 不幸的是,更新的查询(以EntityDefinition.QualifiedApiName作为字段)只返回|DEBUG|FieldDefinition:{DataType=Master-Detail(数据管道),Qualified_ApiName=Data_Pipeline__c,EntityRefinitionId=01I1T000000lbkt,Id=00000000000000AAA,DurableId=011T00000lbkt.00N1T000007TEuZ}
    ——插销
    5月19日17:18
  • 对不起,我的错。依赖于devconsole日志-system.debug(def.EntityDefinition.QualifiedApiName+':'+def.QualidatedApiName);它真的很管用
    ——插销
    5月19日17:38

你必须登录来回答这个问题。

不是你想要的答案吗?浏览标记的其他问题.