У меня есть SOQL ниже, и я получаю результат, который содержит идентификатор sObject.
Я предположил, что запрос также вернет поля SObject.
Например, мой запрос пытается получить "startDay__c
" (Дата), которая похожа на поле объекта ShigotoShousai. Но результатом запроса является просто идентификатор экземпляра sObject.
( родитель : ShigotoShousai
ребенок : ShigotoAssign
)
sObject[] result = [
SELECT
ShigotoShousai__r.id,
ShigotoShousai__r.startDay__c
FROM ShigotoAssign__c
];
system.debug (результат) вывод
shigotoAssign_ c: {Id = a06500000067aNjAAI, ShigotoShousai _c = a055000000DlHnOAAV}, shigotoAssign_ c: {Id = a06500000000aa0 * 10 * * 100AAH0)
Я получил идентификатор объекта ShigotoShousai__c sObject вместо его свойства "startDay__c
".
Я думал, что вывод будет что-то вроде:
shigotoAssign__c:{ShigotoShousai__c=a055000000DlHnOAAV, startDay__c=2010-10-10},
shigotoAssign__c:{ShigotoShousai__c=a055000000DlHnTAAV, startDay__c=2010-10-13})
Но результат запроса только что возвратил мне идентификатор объекта ShigotoShousai__c: (
Теперь я знаю, что у меня есть значение идентификатора S higotoShousai__c
и я хочу получить доступ к его полю, поэтому я сделал следующее.
ShigotoShousai__c foo = (ShigotoShousai__c)result[0].get('ShigotoShousai__c');
//now I assume I can access to some fields like below
system.debug(foo.workDate);
И это дает мне ошибку:
System.TypeException: Invalid conversion from runtime
type Id to SOBJECT:shigotoShousai__c
Тогда я решил, что ID не может быть использован для ссылки на SObject (т.е. ShigotoShousai__c).
Но у меня есть его идентификатор. Как я могу получить доступ, скажем, startDay__c
? Есть ли способ использовать этот идентификатор?