Customerという名前のクラスとStreetAddressという名前の別のクラスがあるとします。顧客は、複数のStreetAddressesを受け入れるマルチhrefを持っています。ここで、顧客がシステムに登録するときに、Customerオブジェクトとともに保存される単一の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でこの種の問題を解決する他の方法はありますか?
ありがとうございました!