【发布时间】:2023-04-10 02:52:02
【问题描述】:
在 doctine 中更新实体一对多关系的最佳方法是什么? 例如:我有一个名为 booking 的实体,其中映射了一对多的 Guest 实体。
编辑预订时,可以通过添加或删除客人来更改客人的数量。 目前,我统计提交的客人数量,如果与当前客人数量不同,我删除预订客人并重新添加新的客人!
对我来说这似乎不对,我想知道其他人是如何处理这个问题的。
代码示例:
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));
}
}
}
【问题讨论】:
标签: php symfony doctrine-orm