引用 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.newTrigger.newMap; 上下文变量启动触发器的订单(或作为触发器的订单应该能够处理批量操作),new 变量是触发器所针对的 sObjects 列表和 newMap 相似,但 Map 以记录 ID 作为键,以对象作为值。唯一的问题是 newMap 仅适用于记录将具有 ID 的触发器类型(不在 Insert 之前)。现在要检索订单产品,您需要使用订单 ID 进行 SOQL 查询(记住要处理批量操作,例如 for 循环中没有查询)。希望这有帮助