예제 #1
0
 /**
  * Remove relation between Tag and a model given
  * @param Taggable $model
  * @param bool $onlyDeleteRelation
  */
 public function deleteTagRelation(Taggable $model, $onlyDeleteRelation = false)
 {
     if ($onlyDeleteRelation) {
         $model->setRemove(true);
     }
     $tagRelationList = $this->em->createQueryBuilder()->select('t')->from($this->tagRelation, 't')->where('t.model = :type')->setParameter('type', $model->getModel())->andWhere('t.modelId = :id')->setParameter('id', $model->getModelId())->getQuery()->getResult();
     foreach ($tagRelationList as $relation) {
         $this->em->remove($relation);
         $this->useless($relation->getTag()->getId());
     }
     $this->em->flush();
 }