如何查找只有账户参考的订单列表的账户 ID?
How can I lookup up the account ID for a list of orders which only have the account Reference?
我正在尝试编写一个 API,它将接受要插入的订单记录列表。订单 table 将与帐户 table 相关,并且该帐户有一个外部 ID 字段。
不幸的是,当用户向 api 发送请求时,他们在发送要插入的订单列表时没有要提供的帐户 ID,只有外部 ID(他们的帐号).
有没有一种优雅的方法,通过订单记录列表,根据他们提供的外部 ID(帐号)提取帐户 ID。
在伪代码中我会做如下的事情:
Update tmp_Orders
set account_id = account.id
from account
where account.accountNumber = tmp_orders.accountNumber
我不想做的是必须遍历列表并单独查找每个帐户 ID,因为传递给 api 的订单数量可能会导致该方法达到调控器限制.
谢谢
您不需要自己进行查找,在插入调用中您可以指定 externalId 而不是常规的 salesforce 帐户 Id,服务会自动为您进行查找。为此,您可以指定一个嵌套的 Account 对象,并设置相关的 externalId,而不仅仅是设置 accountId 字段,例如
Account a = new Account(extId__c='foo');
Order o = new Order(...);
o.account = a;
insert o;
还有更多示例 here,包括从网络 api 而不是 apex。
我正在尝试编写一个 API,它将接受要插入的订单记录列表。订单 table 将与帐户 table 相关,并且该帐户有一个外部 ID 字段。
不幸的是,当用户向 api 发送请求时,他们在发送要插入的订单列表时没有要提供的帐户 ID,只有外部 ID(他们的帐号).
有没有一种优雅的方法,通过订单记录列表,根据他们提供的外部 ID(帐号)提取帐户 ID。
在伪代码中我会做如下的事情:
Update tmp_Orders
set account_id = account.id
from account
where account.accountNumber = tmp_orders.accountNumber
我不想做的是必须遍历列表并单独查找每个帐户 ID,因为传递给 api 的订单数量可能会导致该方法达到调控器限制.
谢谢
您不需要自己进行查找,在插入调用中您可以指定 externalId 而不是常规的 salesforce 帐户 Id,服务会自动为您进行查找。为此,您可以指定一个嵌套的 Account 对象,并设置相关的 externalId,而不仅仅是设置 accountId 字段,例如
Account a = new Account(extId__c='foo');
Order o = new Order(...);
o.account = a;
insert o;
还有更多示例 here,包括从网络 api 而不是 apex。