يجب أن يكون المصطلح الأولي للتعبير الحقل بمثابة ملموسة: كائن

StackOverflow https://stackoverflow.com/questions/4131723

سؤال

لديّ كائنان فقط واستعلام بسيط لاسترداد البيانات.

نتيجة الاستعلام المخزنة في المصفوفة ccList وفقا لإخراج التصحيح هو:

(
    CustomThree__c:
    {
    Name=cusmei3 2, 
    customOne__c=a005000000IwnOPAAZ, 
    Id=a025000000FsFGQAA3
    }, 
    CustomThree__c:
    {
    Name=cusmei3 1, 
    customOne__c=a005000000IwnOUAAZ, 
    Id=a025000000FsFGLAA3
    }
)

كما ترون system.debug(ccList[0]) عائدات:

CustomThree__c:{
    Name=cusmei3 2, 
    customOne__c=a005000000IwnOPAAZ, 
    Id=a025000000FsFGQAA3
}

لكن عندما أحاول الحصول على Id (أو حقل آخر) من الصفيف ، يحدث الخطأ. هل يمكن لأي شخص الإشارة إلى ما أفعله خطأ؟

الشفرة

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
هل كانت مفيدة؟

المحلول

أعتقد أنه سيتعين عليك تغيير نوع CCList من "Object" إلى "CustomThree__c". سيمنحك هذا أيضًا فحص وقت التجميع عندما تحاول الكتابة ccList[0].SomeNonExistentFieldName__c.

إذا لم تتمكن من فعل ذلك وتحتاج حقًا إلى الكائن الذي ينتج عنه المتاجر لتكون عامة - أعتقد أن هذا يجب أن يكون صريحًا؟

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top