如何查找仅包含帐户参考的订单列表的帐户ID?

时间:2015-03-24 11:41:39

标签: salesforce lookup apex soql

我正在尝试编写一个API,它将接受要插入的订单记录列表。订单表将与帐户表相关,并且该帐户具有外部ID字段。

不幸的是,当用户将请求发布到api时,他们没有在发送要插入的订单列表时提供的帐户ID,只有外部ID(他们的帐号)。

是否有一种优雅的方式,包括订单记录列表,根据他们提供的外部ID(帐号)来提取帐户ID。

在伪代码中我会做类似下面的事情:

Update tmp_Orders set account_id = account.id from account where account.accountNumber = tmp_orders.accountNumber

我不想做的是必须遍历列表并单独查找每个帐户ID,因为传递给api的订单数量可能导致该方法达到州长限制。

感谢

1 个答案:

答案 0 :(得分:0)

您不需要自己进行查询,在插入调用中您可以指定externalId而不是常规salesforce帐户ID,服务将自动为您执行查找。您可以通过指定具有相关externalId集的嵌套Account对象而不是仅设置accountId字段来执行此操作,例如。

Account a = new Account(extId__c='foo');
Order o = new Order(...);
o.account = a;
insert o;

还有更多示例here,包括从网络API而不是顶点进行操作。