フィールド式の初期用語は、具体的なすすり病でなければなりません:オブジェクト

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

質問

データを取得するための2つのオブジェクトと簡単なクエリしかありません。

配列に保存されているクエリの結果 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のタイプを「オブジェクト」から「customthree__c」に変更する必要があると思います。これにより、書き込みを試みたときにコンパイル時間チェックを提供します ccList[0].SomeNonExistentFieldName__c.

あなたがそれを行うことができず、実際に保存するオブジェクトがジェネリックであると結果として必要な場合 - 私はこれがすすり泣くべきだと思いますか?

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top