从查找字段中获取用户友好的值

Fetching user freindly values from a lookup field

我正在尝试在我的 apex 触发器中编写一个查询,它将 return 一个用户友好的值。

Map<String, Order> order_1 = new Map<String, Order>([
Select Account.Name
From Order
]);

System.debug('Order 1: ' + order_1);

当我在触发器中编写查询时,它 return 是一些奇数字母组合,但是当我在查询编辑器中编写它时,它 return 类似于 "Toys R Us" .为什么在我的触发器中查询 return 是外键而不是数据,但 return 是查询编辑器中的实际帐户名?

这是因为将查询传递到 Map 构造函数将使用记录 ID 作为键。我想你的追求是:

Map<String, Order> order_1 = new Map<String, Order>();

for(Order o : [Select Account.Name From Order]) {
    order_1.put(o.Account.Name, o);
}

System.debug('Order 1: ' + order_1);