Welcome to my blog

I have been working with Salesforce for quite a while, so don’t hesitate to contact me if you have any questions or want some advice.

s f

Subscribe
Follow Us
h

Dynamic SOQL Query using sObject with Reference Object Fields

 . Apex  . Dynamic SOQL Query using sObject with Reference Object Fields

Dynamic SOQL Query using sObject with Reference Object Fields

Generate dynamic SOQL query with “__r” fields.

Code :

public static string generateDynamicSOQLwithReferenceField(String objectName, String strRefField) {
String selects = ”;
Map<String, Schema.SObjectField> fMap = Schema.getGlobalDescribe().get(objectName.toLowerCase()).getDescribe().Fields.getMap();
list<string> selectFields = new list<string>();
if (fMap != null){
for (Schema.SObjectField ft : fMap.values()){
Schema.DescribeFieldResult fd = ft.getDescribe();
selectFields.add(fd.getName());
}
}
if (!selectFields.isEmpty()){
for (string s:selectFields){
selects += s + ‘,’;
}
if (selects.endsWith(‘,’)){selects = selects.substring(0,selects.lastIndexOf(‘,’));}
}
selects = selects + ‘,’ + strRefField;
return ‘SELECT ‘ + selects + ‘ FROM ‘ + objectName + ‘ ‘;
}

Example :

getCreatableFieldsSOQLwithReferenceField(‘Contact‘, ‘Account.Name, Account.Website‘);

Post a Comment