diff --git a/lib/RoadizCoreBundle/src/Entity/CustomForm.php b/lib/RoadizCoreBundle/src/Entity/CustomForm.php index d6b900aa..9f91c796 100644 --- a/lib/RoadizCoreBundle/src/Entity/CustomForm.php +++ b/lib/RoadizCoreBundle/src/Entity/CustomForm.php @@ -108,7 +108,12 @@ class CustomForm extends AbstractDateTimed * @var Collection */ #[ - ORM\OneToMany(mappedBy: "customForm", targetEntity: CustomFormField::class, cascade: ["ALL"]), + ORM\OneToMany( + mappedBy: "customForm", + targetEntity: CustomFormField::class, + cascade: ["ALL"], + orphanRemoval: true + ), ORM\OrderBy(["position" => "ASC"]), Serializer\Groups(["custom_form"]), SymfonySerializer\Groups(["custom_form"]), @@ -123,7 +128,8 @@ class CustomForm extends AbstractDateTimed ORM\OneToMany( mappedBy: "customForm", targetEntity: CustomFormAnswer::class, - cascade: ["ALL"] + cascade: ["ALL"], + orphanRemoval: true ), Serializer\Exclude, SymfonySerializer\Ignore diff --git a/lib/RoadizCoreBundle/src/Entity/CustomFormAnswer.php b/lib/RoadizCoreBundle/src/Entity/CustomFormAnswer.php index e43de922..f73abec6 100644 --- a/lib/RoadizCoreBundle/src/Entity/CustomFormAnswer.php +++ b/lib/RoadizCoreBundle/src/Entity/CustomFormAnswer.php @@ -44,7 +44,8 @@ class CustomFormAnswer extends AbstractEntity ORM\OneToMany( mappedBy: "customFormAnswer", targetEntity: CustomFormFieldAttribute::class, - cascade: ["ALL"] + cascade: ["ALL"], + orphanRemoval: true ), Serializer\Groups(["custom_form_answer"]), SymfonySerializer\Groups(["custom_form_answer"]) diff --git a/lib/RoadizCoreBundle/src/Entity/NodeType.php b/lib/RoadizCoreBundle/src/Entity/NodeType.php index 577574aa..4dc17ec1 100644 --- a/lib/RoadizCoreBundle/src/Entity/NodeType.php +++ b/lib/RoadizCoreBundle/src/Entity/NodeType.php @@ -132,7 +132,12 @@ class NodeType extends AbstractEntity implements NodeTypeInterface * @var Collection */ #[ - ORM\OneToMany(mappedBy: "nodeType", targetEntity: NodeTypeField::class, cascade: ["all"]), + ORM\OneToMany( + mappedBy: "nodeType", + targetEntity: NodeTypeField::class, + cascade: ["all"], + orphanRemoval: true + ), ORM\OrderBy(["position" => "ASC"]), Serializer\Groups(["node_type"]), SymfonySerializer\Groups(["node_type"]), diff --git a/lib/RoadizCoreBundle/src/Model/AttributeGroupTrait.php b/lib/RoadizCoreBundle/src/Model/AttributeGroupTrait.php index 9bd498c7..aaa2710b 100644 --- a/lib/RoadizCoreBundle/src/Model/AttributeGroupTrait.php +++ b/lib/RoadizCoreBundle/src/Model/AttributeGroupTrait.php @@ -40,7 +40,12 @@ trait AttributeGroupTrait * @var Collection */ #[ - ORM\OneToMany(mappedBy: "attributeGroup", targetEntity: AttributeGroupTranslationInterface::class, cascade: ["all"]), + ORM\OneToMany( + mappedBy: "attributeGroup", + targetEntity: AttributeGroupTranslationInterface::class, + cascade: ["all"], + orphanRemoval: true + ), Serializer\Groups(["attribute_group", "attribute", "node", "nodes_sources"]), Serializer\Type("ArrayCollection"), Serializer\Accessor(getter: "getAttributeGroupTranslations", setter: "setAttributeGroupTranslations")