2013-03-09 1 views
0

Предположим, у вас есть класс Customer и другой класс с именем StreetAddress. Клиент имеет многостраничный код, который принимает несколько адресов StreetAddresses. Предположим теперь, когда Клиент регистрируется в системе, он вводит один StreetAddress, который будет сохранен с объектом Customer. Теперь важная часть: если мы сначала сохраним Клиент и StreetAddress, мы можем столкнуться с проблемой, если возникнет какая-то проблема при сохранении StreetAddress, Клиент будет находиться в системе без StreetAddress. Таким образом, решение заключается в создании транзакции для сохранения объектов.Pimcore - Сохранение объектов с транзакцией

я тестировал следующий код:

$address = Object_CustomerAddress::create(); 
$address->setTest('teestt'); 
$address->setKey('testaddress'); 

$customer = Object_Customer::create(); 
$customer->setAddresses(array($address)); 
$customer->setKey('testcustomer'); 
$customer->save(); 

Этот код будет сохранить клиента, но не будет сохранять адреса (но и не возвращает никаких ошибок). Я думаю, что этот код должен совершить транзакцию и сохранить оба.

Я думаю, правильно? Или есть ли другой способ решить эту проблему с Pimcore?

Спасибо!

ответ

2

Вы не вызываете save() объекта CustomerAddress.

$address->save()