示例#1
0
 /**
  * {@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();
 }
示例#2
0
 /**
  * {@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();
 }