Pimcore -用事务保存对象


Pimcore - Saving objects with transaction

假设您有一个名为Customer的类和另一个名为StreetAddress的类。客户有一个multi-href,它接受多个streetaddress。现在假设当一个Customer在系统中注册时,它输入一个StreetAddress,该StreetAddress将与Customer对象一起保存。现在,关键的部分是:如果我们先保存Customer,然后保存StreetAddress,我们可能会遇到一个问题,如果在保存StreetAddress时出现一些问题,Customer将在系统上没有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的这种问题吗?

谢谢!

不要在CustomerAddress对象上调用save()。

$address->save()