如何访问返回SOQL关系查询的列?

时间:2012-12-10 13:21:19

标签: salesforce soql

以下代码无效。 错误消息是“编译错误:字段表达式的初始术语必须是具体SObject:第8行第16行的列表”(返回行是第8行)

public String getX(){

    List<Oppoinvoice__c> o = [SELECT  Opportunity__r.Account.Name  FROM Oppoinvoice__c];

    return o.Opportunity__r.Account.Name;    
}

1 个答案:

答案 0 :(得分:2)

您必须指定必须显示列表的条目号。根据您的查询,您将获得一个列表。并且您的方法必须返回一个字符串。

public String getX(){

    List<Oppoinvoice__c> o = [SELECT  Opportunity__r.Account.Name  FROM Oppoinvoice__c];

    return o[0].Opportunity__r.Account.Name;    
}

或者像这样:

public String getX(){

    String o = [SELECT Opportunity__r.Account.Name FROM Oppoinvoice__c Where Id = 'XXXXXXX'].Opportunity__r.Account.Name;

    return o;    
}