WellCommerce\Bundle\LocaleBundle\Command\DeleteLocaleCommand::deleteTranslatableEntities PHP Method

deleteTranslatableEntities() protected method

Deletes the translatable entities for locale
protected deleteTranslatableEntities ( Doctrine\ORM\EntityRepository $repository, WellCommerce\Bundle\LocaleBundle\Entity\LocaleInterface $locale, Symfony\Component\Console\Output\OutputInterface $output )
$repository Doctrine\ORM\EntityRepository
$locale WellCommerce\Bundle\LocaleBundle\Entity\LocaleInterface
$output Symfony\Component\Console\Output\OutputInterface
    protected function deleteTranslatableEntities(EntityRepository $repository, LocaleInterface $locale, OutputInterface $output)
    {
        $entityManager = $this->doctrineHelper->getEntityManager();
        $criteria = new Criteria();
        $criteria->where($criteria->expr()->eq('locale', $locale->getCode()));
        $collection = $repository->matching($criteria);
        $collection->map(function (LocaleAwareInterface $entity) use($entityManager) {
            $entityManager->remove($entity);
        });
        $output->write(sprintf('Deleted <info>%s</info> entities <info>%s</info>', $collection->count(), $repository->getClassName()), true);
    }