Предположим, у вас есть класс 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?
Спасибо!