Pimcore - 使用事务保存对象

时间:2013-03-09 21:21:09

标签: php pimcore

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

谢谢!

1 个答案:

答案 0 :(得分:2)

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

$address->save()