获取Lookup字段的关联对象,以及后续一些操作

String objectName = 'ObjectName';
String fieldName = 'FieldName';
// 获得lookup field 的objectresult
Schema.DescribeFieldResult f = Schema.getGlobalDescribe()
.get(objectName)
.getDescribe()
.fields
.getMap()
.get(fieldName)
.getDescribe();

// 获得sobjecttype
for(Schema.SObjectType reference : f.getReferenceTo()) {
System.debug('Lookup reference object name: ' + reference.getDescribe().getName());
System.debug('Lookup reference object label: ' + reference.getDescribe().getLabel());
}

// 所有obejcttype
Map <String, Schema.SObjectType> schemaMap = Schema.getGlobalDescribe();

// 根据object的api name获得所有field
Map <String, Schema.SObjectField> fieldMap = schemaMap.get('ObjectAPIName').getDescribe().fields.getMap();

posted @ 2018-12-18 16:11  慕少艾  阅读(344)  评论(0编辑  收藏  举报