所以我有一个场景,我必须查询促销(基于 ProductId 和/或 BuyerGroupId),并删除其相关的 PromotionTier、PromotionTarget、PromotionQualifier 等...
所以我想写一个这样的查询
选择ID, (从promotionTiers中选择id), (从 PromotionTargets 选择 id,其中 Target.Tecsys_item_num__c = '654321') 来自促销
但它给了我以下错误 “实体“名称”上没有此类列“Tecsys_item_num__c”。如果您尝试使用自定义字段,请务必在自定义字段名称后面附加“__c”。请参考您的 WSDL 或描述调用以获取适当的名称。 ”
现在可能是因为 PromotionTargets 中的查找字段是 TargetId 并且它与 (Product, Category) 是多态关系...
我还附上了架构生成器图像,请查看并告诉我是否有任何方法可以根据 ProductId 和 BuyerGroupId 查询促销活动...
我已经提到了我所尝试过的以及我所期待的
您需要在 soql 查询中使用 TYPEOF 运算符来实现多态关系:https://developer.salesforce.com/docs/atlas.en-us.apexcode.meta/apexcode/langCon_apex_SOQL_polymorphic_relationships.htm