Anfängliche Laufzeit von Feldausdruck muss ein konkreter SObject sein: Object
-
29-09-2019 - |
Frage
Ich habe nur 2 Objekte und einfache Abfrage, um die Daten abzurufen.
Das Ergebnis der Abfrage, die in dem Array gespeichert ist ccList
gemäß debug Ausgabe lautet:
(
CustomThree__c:
{
Name=cusmei3 2,
customOne__c=a005000000IwnOPAAZ,
Id=a025000000FsFGQAA3
},
CustomThree__c:
{
Name=cusmei3 1,
customOne__c=a005000000IwnOUAAZ,
Id=a025000000FsFGLAA3
}
)
Wie Sie system.debug(ccList[0])
zurückkehren sehen:
CustomThree__c:{
Name=cusmei3 2,
customOne__c=a005000000IwnOPAAZ,
Id=a025000000FsFGQAA3
}
Aber wenn ich versuche Id
(oder ein anderes Feld) vom Array, tritt der Fehler auf.
Kann jemand Punkt heraus, was mache ich falsch?
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
Lösung
Ich glaube, Sie werden die Art des ccList von „Objekt“ auf „CustomThree__c“ ändern. Dies wird Ihnen auch geben kompilieren Zeitüberprüfung, wenn Sie schreiben ccList[0].SomeNonExistentFieldName__c
versuchen werden.
Wenn Sie es nicht tun können und müssen wirklich das Objekt, dass Geschäfte führen generisch zu sein - ich glaube, das SObject sein sollte
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow