diff --git a/src/Entity/Base/AbstractStructuralDBElement.php b/src/Entity/Base/AbstractStructuralDBElement.php index 4ef2ab6d..2cb8506d 100644 --- a/src/Entity/Base/AbstractStructuralDBElement.php +++ b/src/Entity/Base/AbstractStructuralDBElement.php @@ -107,6 +107,19 @@ abstract class AbstractStructuralDBElement extends AttachmentContainingDBElement $this->parameters = new ArrayCollection(); } + public function __clone() + { + if ($this->id) { + //Deep clone parameters + $parameters = $this->parameters; + $this->parameters = new ArrayCollection(); + foreach ($parameters as $parameter) { + $this->addParameter(clone $parameter); + } + } + parent::__clone(); + } + /****************************************************************************** * StructuralDBElement constructor. *****************************************************************************/ diff --git a/src/Entity/Parts/Part.php b/src/Entity/Parts/Part.php index 3bfc3195..7501ff27 100644 --- a/src/Entity/Parts/Part.php +++ b/src/Entity/Parts/Part.php @@ -165,6 +165,13 @@ class Part extends AttachmentContainingDBElement foreach ($orderdetails as $orderdetail) { $this->addOrderdetail(clone $orderdetail); } + + //Deep clone parameters + $parameters = $this->parameters; + $this->parameters = new ArrayCollection(); + foreach ($parameters as $parameter) { + $this->addParameter(clone $parameter); + } } parent::__clone(); }