假设您有一个名为 Customer 的类和另一个名为 StreetAddress 的类。客户有一个接受多个 StreetAddresses 的 multi-href。现在假设当客户在系统中注册时,它输入了一个 StreetAddress,该 StreetAddress 将与客户对象一起保存。现在,关键部分是:如果我们先保存客户,然后再保存 StreetAddress,如果保存 StreetAddress 时出现问题,我们可能会遇到问题,客户将在没有 StreetAddress 的系统上。因此解决方案是进行交易以保存对象。
我测试了以下代码:
$address = Object_CustomerAddress::create();
$address->setTest('teestt');
$address->setKey('testaddress');
$customer = Object_Customer::create();
$customer->setAddresses(array($address));
$customer->setKey('testcustomer');
$customer->save();
此代码将保存客户但不会保存地址(但也不会返回任何错误)。我认为这段代码应该进行交易并保存两者。
我想对了吗?或者有没有其他方法可以解决 Pimcore 的此类问题?
谢谢!