系统.sobjectexception:通过soql检索到的对象行没有查询请求的字段:Asset.P



我对我的测试类的查询有一个问题。我已经把AssetId__r。Product2Id在第一个查询中,将Product2Id资产查询但错误仍然存在。因为错误说它需要资产。Product2这是一个对象,而不是一个字段,我失去了如何修复这个错误。以前有人遇到过这个错误吗?我需要你的帮助。

如果您发布实际的查询,会更容易。

你可能在你的代码中有类似的东西:

String name = myObject.AssetId__r.Product2.Name;

但是查询SELECT AssetId__r.Product2Id, ... FROM MyTable WHERE ...

所以你可以改变的是在查询中放入更多的产品字段。你最多可以"向上"5点

SELECT AssetId__r.Product2.Id,
AssetId__r.Product2.Name,
AssetId__r.Product2.ProductCode
FROM myObject 
WHERE ...

它将工作,然后使用它的Apex可以将AssetId__r.Product2视为正常的Product2对象,就像单独查询一样。它将设置Id, Name, ProductCode字段。

查询也是"安全"的。如果AssetId__c为空或Product2Id为空-它仍然会执行。您必须在Apex(或在查询的WHERE子句)中进行空检查

相关内容

  • 没有找到相关文章

最新更新