maquinaModel = model(MaquinaModel::class); } public function setMaquinaEntity(Maquina $maquinaEntity): self { $this->maquina = $maquinaEntity; return $this; } public function duplicate(string $newName): ?Maquina { $maquina_array = $this->maquina->toArray(); $maquinaDuplicatedId = $this->maquinaModel->insert($maquina_array); $maquina_array['nombre'] = $newName; $maquinaWithAllRelations = $this->maquina->withAll()->toArray(); $maquina_defecto = $maquinaWithAllRelations['maquina_defecto']; $maquina_papeles_impresion = $maquinaWithAllRelations['papeles_impresion']; $maquina_calles = $maquinaWithAllRelations['maquina_calles']; foreach ($maquina_defecto as $md) { unset($md['id']); $md['maquina_id'] = $maquinaDuplicatedId; } foreach ($maquina_papeles_impresion as $mpi) { unset($mpi['id']); $mpi['maquina_id'] = $maquinaDuplicatedId; } foreach ($maquina_calles as $mc) { unset($mc['id']); $mc['maquina_id'] = $maquinaDuplicatedId; } return $this->maquinaModel->find($maquinaDuplicatedId)->withAll(); } }