0

我对文档有点困惑。让我们继续处理客户订单关系,其中一个客户可以有 n 个订单。

如果我为现有客户创建新订单并将其存储在

Customer customer = Customer();
customer.orders.add(Order()); // Order #3
customer.orders.add(Order()); // Order #4
// Puts customer and orders:
final customerId = store.box<Customer>().put(customer);

我希望这会更新客户(覆盖所有数据),因为我使用的是客户的 id。我猜,新订单#3 和#4 被创建为新订单并链接到客户,因为它们的订单ID 为0。但是我之前存储的订单(#1 和#2)会发生什么?他们是否与我的客户保持联系?或者这个链接是否也被覆盖并因此丢失?

4

1 回答 1

0

照原样,您的代码示例将创建一个新客户。要更新现有客户及其关系,首先从商店获取现有客户(或重新使用先前放置的客户实例)。

Customer customer = store.box<Customer>().get(customerId);
customer.orders.add(Order()); // Order #3
customer.orders.add(Order()); // Order #4
store.box<Customer>().put(customer);

文档还展示了如何从 ToMany 关系中获取和删除对象。

于 2021-09-13T07:57:04.137 回答