我在下面有 SOQL,我得到的结果包含 sObject 的 ID。我的假设是查询也将返回 SObject 的字段。例如,我的查询尝试获取startDay__c
类似于 ShigotoShousai 对象的字段的“”(日期)。但是查询的结果只是 sObject 实例的 ID。
(父母: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=a06500000067aNoAAI, ShigotoShousai_c =a055000000DlHnTAAV})
我得到了 ShigotoShousai__c sObject 的 ID 而不是它的属性“ startDay__c
”。我认为输出会是这样的:
shigotoAssign__c:{ShigotoShousai__c=a055000000DlHnOAAV, startDay__c=2010-10-10},
shigotoAssign__c:{ShigotoShousai__c=a055000000DlHnTAAV, startDay__c=2010-10-13})
但是查询结果只是返回了我 ShigotoShousai__c sobject 的 ID :(
现在我知道 S 的 ID 值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)。
但我有它的 id.. 我怎么能访问,比如说startDay__c
?有没有办法使用这个ID?