J'ai une requête SOQL,Problème avec la construction de ma SOQL chaîne de requête
Je veux vérifier les champs dans la requête pour FSL (sécurité terrain) avant de construire la chaîne de requête, et si elles ne sont pas lisibles, ne les ajoutez pas à la chaîne. Ce n'est peut-être pas la meilleure approche, mais c'est quelque part pour moi de commencer. Ce qui suit fonctionne bien.
String soql = 'SELECT Id, MAX(Name) personName, MAX(From_Date__c) fromDate, MAX(Status__c) status'
String end = ' FROM The_Object__c WHERE Id = :Id'
soql += end
SObject r = Database.query(soql);
Donc, pour vérifier le champ avant de l'ajouter à la chaîne ... Somthing comme celui-ci peut-être: (qui ne marche pas travail)
String extra_soql = ', SUM(Revenue__c) revenue ';
if (!Schema.sObjectType.The_Object__c.fields.Revenue__c.isAccessible()){
REMOVE THE SOQL SOMEHOW? OR PASS AN EMPTY STRING TO THE QUERY?
extra_soql = ''; <-- DOESNT WORK
extra_soql = ' '; <-- DOESNT WORK
extra_soql = NULL; <-- DOESNT WORK
NOT SURE WHAT TO DO IN HERE
}
soql += extra_soql
soql += end
SObject r = Database.query(soql);
Toutes les suggestions ou des conseils seraient grandement appréciés.