引用 class 中触发器中使用的 Order sObject,以在单独的 class 中为该订单从 Order Products sObject 中提取行项目
Referencing a Order sObject used in a trigger in a class to pull line items from Order Products sObject for that order in a seperate class
我有一个触发的触发器,只要 Order sObject 的状态字段从草稿更改为活动,部分代码就会运行。我正在尝试编写一个 class,它只从 Order Product sObject 的订单中提取行项目。我正在寻找的不是直接答案,因为我正在尝试学习 apex 编程的所有来龙去脉。如果有人有示例,他们可以告诉我如何引用触发触发器的 Order sObject 并仅从 Order Product sObject 中提取该订单的行项目,我们将不胜感激。我试图在不执行 SOQL 查询的情况下实现这一目标。
您可以访问使用 Trigger.new
或 Trigger.newMap;
上下文变量启动触发器的订单(或作为触发器的订单应该能够处理批量操作),new
变量是触发器所针对的 sObjects 列表和 newMap
相似,但 Map 以记录 ID 作为键,以对象作为值。唯一的问题是 newMap 仅适用于记录将具有 ID 的触发器类型(不在 Insert 之前)。现在要检索订单产品,您需要使用订单 ID 进行 SOQL 查询(记住要处理批量操作,例如 for 循环中没有查询)。希望这有帮助
我有一个触发的触发器,只要 Order sObject 的状态字段从草稿更改为活动,部分代码就会运行。我正在尝试编写一个 class,它只从 Order Product sObject 的订单中提取行项目。我正在寻找的不是直接答案,因为我正在尝试学习 apex 编程的所有来龙去脉。如果有人有示例,他们可以告诉我如何引用触发触发器的 Order sObject 并仅从 Order Product sObject 中提取该订单的行项目,我们将不胜感激。我试图在不执行 SOQL 查询的情况下实现这一目标。
您可以访问使用 Trigger.new
或 Trigger.newMap;
上下文变量启动触发器的订单(或作为触发器的订单应该能够处理批量操作),new
变量是触发器所针对的 sObjects 列表和 newMap
相似,但 Map 以记录 ID 作为键,以对象作为值。唯一的问题是 newMap 仅适用于记录将具有 ID 的触发器类型(不在 Insert 之前)。现在要检索订单产品,您需要使用订单 ID 进行 SOQL 查询(记住要处理批量操作,例如 for 循环中没有查询)。希望这有帮助