durée initiale d'expression sur le terrain doit être un béton SObject: Object
-
29-09-2019 - |
Question
J'ai seulement 2 objets et requête simple pour récupérer les données.
Le résultat de la requête qui est stocké dans ccList
réseau selon la sortie de débogage est:
(
CustomThree__c:
{
Name=cusmei3 2,
customOne__c=a005000000IwnOPAAZ,
Id=a025000000FsFGQAA3
},
CustomThree__c:
{
Name=cusmei3 1,
customOne__c=a005000000IwnOUAAZ,
Id=a025000000FsFGLAA3
}
)
Comme vous pouvez le voir retourne system.debug(ccList[0])
:
CustomThree__c:{
Name=cusmei3 2,
customOne__c=a005000000IwnOPAAZ,
Id=a025000000FsFGQAA3
}
Mais quand j'essaie d'obtenir Id
(ou tout autre domaine) à partir du tableau, l'erreur se produit.
Quelqu'un peut-il point de ce que je fais mal?
code
Object[] ccList;
ccList = [SELECT id, name, CustomOne__r.name FROM CustomThree__c];
system.debug(ccList);
system.debug('******************************************');
system.debug(ccList[0]);
system.debug(ccList[0].Id); //this one cause the error
La solution
Je pense que vous devrez changer le type de ccList de « objet » à « CustomThree__c ». Cela vous donnera également la vérification de compilation lorsque vous essayez d'écrire ccList[0].SomeNonExistentFieldName__c
.
Si vous ne pouvez pas le faire et vraiment besoin de l'objet qui stocke le résultat d'être générique - Je crois que cela devrait être SObject