public static function updateEntityRelation($idEntity1, $relEntry, $idEntity2) { $rt = new RelationType(); $c = $rt->getCriteria()->select('idRelationType')->where("entry = '{$relEntry}'"); $er = new EntityRelation(); $transaction = $er->beginTransaction(); $criteria = $er->getDeleteCriteria(); $criteria->where("idEntity1 = {$idEntity1}"); $criteria->where("idRelationType", "=", $c); $criteria->delete(); $rt->getByEntry($relEntry); $er->setIdEntity1($idEntity1); $er->setIdEntity2($idEntity2); $er->setIdRelationType($rt->getIdRelationType()); $er->save(); $transaction->commit(); }
public function deleteCEFERelations($relations) { $transaction = $this->beginTransaction(); try { $relationType = new RelationType(); foreach ($relations as $relation) { $relationType->getByEntry($relation->idType); $idRelationType = $relationType->getIdRelationType(); $this->remove($idRelationType, $relation->idEntity1, $relation->idEntity2); } $transaction->commit(); } catch (\Exception $e) { $transaction->rollback(); throw new ERunTimeException("Error deleting relations. " . $e); } }