/** * * @param Treatment $treatment * @return \HealthCareAbroad\TermBundle\Entity\Term */ private function createTermFromTreatment(Treatment $treatment) { // check first if this term already exists $term = $this->termRepository->findOneByName($treatment->getName()); if (!$term) { // term does not exist $term = new Term(); $term->setName($treatment->getName()); } // create new term document $termDocument = new TermDocument(); $termDocument->setDocumentId($treatment->getId()); $termDocument->setTerm($term); $termDocument->setType(TermDocument::TYPE_TREATMENT); $term->setInternal(true); $term->addTermDocument($termDocument); return $term; }
private function _deleteTermDocumentsExceptForCurrentTerm(Term $currentTerm, $documentId, $type) { $qb = $this->doctrine->getRepository('TermBundle:Term')->getQueryBuilderForDeletingTermDocumentsByDocumentIdAndType($documentId, $type); $qb->andWhere('a.term != :currentTermId')->setParameter('currentTermId', $currentTerm->getId()); $qb->getQuery()->execute(); }