教義でエンティティの1対多の関係を更新する最良の方法は何ですか? 例: 1 対多の Guest エンティティがマッピングされた、booking というエンティティがあります。
予約が編集されると、ゲストを追加または削除することで、ゲストの数を変更できます。現時点では、送信されたゲストの数をカウントし、現在のゲスト数と異なる場合は、予約したゲストを削除して、新しいゲストを再度追加します!
私にはこれは正しくないように思われ、他の人がこれにどのようにアプローチしているかを知りたい.
コード例:
if (count($collection)) {
$numberGuests = count($this->getEntity()->getGuests());
foreach ($collection as $guest) {
if ($numberGuests != count($guests)) {
// delete guest if the number has changed
$this->getGuestManager()->delete($guest);
} else {
// update entity
$guest->setArrayData(Tools::getData($i, $guests));
}
}
}