Как получить доступ к столбцу, который возвращает запрос отношения SOQL?

Следующий код не работает. Сообщение об ошибке: «Ошибка компиляции: начальный термин выражения поля должен быть конкретным SObject: LIST в строке 8, столбце 16» (строка возврата — строка 8)

public String getX(){

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

    return o.Opportunity__r.Account.Name;    
}

person mustafatop    schedule 10.12.2012    source источник


Ответы (1)


Необходимо указать, какой номер записи списка должен отображаться. С вашим запросом вы получите список. И ваш метод должен возвращать строку.

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;    
}
person mast0r    schedule 10.12.2012