/** * {@inheritDoc} */ public function removeAssociatedTranslations(AbstractWrapper $wrapped, $transClass, $objectClass) { $qb = $this->getObjectManager()->createQueryBuilder()->delete($transClass, 'trans'); if ($this->usesPersonalTranslation($transClass)) { $qb->where('trans.object = :object'); $qb->setParameter('object', $wrapped->getObject()); } else { $qb->where('trans.foreignKey = :objectId', 'trans.objectClass = :class'); $qb->setParameter('objectId', $wrapped->getIdentifier()); $qb->setParameter('class', $objectClass); } return $qb->getQuery()->getSingleScalarResult(); }
/** * {@inheritDoc} */ public function removeAssociatedTranslations(AbstractWrapper $wrapped, $transClass, $objectClass) { $dm = $this->getObjectManager(); $qb = $dm->createQueryBuilder($transClass)->remove(); if ($this->usesPersonalTranslation($transClass)) { $qb->field('object.$id')->equals($wrapped->getIdentifier()); } else { $qb->field('foreignKey')->equals($wrapped->getIdentifier()); $qb->field('objectClass')->equals($objectClass); } $q = $qb->getQuery(); return $q->execute(); }