papelImpresionModel = model(PapelImpresionModel::class); $this->papelImpresionModel = model(PapelImpresionModel::class); $this->papelImpresionMargenModel = model(PapelImpresionMargenModel::class); $this->papelImpresionTipologiaModel = model(PapelImpresionTipologiaModel::class); $this->papelImpresionMaquinaModel = model(MaquinasPapelesImpresionModel::class); } public function setPapelImpresionEntity(PapelImpresion $papelImpresionEntity) : self { $this->papelImpresion = $papelImpresionEntity; return $this; } public function duplicate(string $newName) : PapelImpresion { $papelImpresionRow = $this->papelImpresion?->toArray(); $papelImpresionMargen = $this->papelImpresion->margen()?->toArray(); $papelImpresionTipologia = $this->papelImpresion->tipologia()?->toArray(); $papelImpresionMaquina = $this->papelImpresion->maquinas_impresion()?->toArray(); $papelImpresionRow['nombre'] = $newName; if($this->papelImpresion){ $papelImpresionDuplicatedId = $this->papelImpresionModel->insert($papelImpresionRow); } if($papelImpresionMargen){ $papelImpresionMargen['papel_impresion_id'] = $papelImpresionDuplicatedId; $this->papelImpresionMargenModel->insert($papelImpresionMargen); } if($papelImpresionTipologia){ $this->papelImpresionTipologiaModel->insert($papelImpresionTipologia); $papelImpresionTipologia['papel_impresion_id'] = $papelImpresionDuplicatedId; } if($papelImpresionMaquina){ $papelImpresionMaquina['papel_impresion_id'] = $papelImpresionDuplicatedId; $this->papelImpresionMaquinaModel->insert($papelImpresionMaquina); } $papelImpresionDuplicated = $this->papelImpresionModel->find($papelImpresionDuplicatedId); return $papelImpresionDuplicated; } }