public function delete() { $transaction = $this->beginTransaction(); try { $idTemplate = $this->getId(); $idEntity = $this->getIdEntity(); // remove entry $entry = new Entry(); $entry->deleteEntry($this->getEntry()); // remove related FEs //Base::deleteEntity2Relation($idEntity, 'rel_elementof'); $fe = new FrameElement(); $fes = $this->listFEforDeletion()->asQuery()->getResult(); foreach ($fes as $row) { $fe->getById($row['idFrameElement']); $fe->delete(); } // remove this template parent::delete(); // remove entity $entity = new Entity($idEntity); $entity->delete(); $transaction->commit(); } catch (\Exception $e) { $transaction->rollback(); throw new \Exception($e->getMessage()); } }