PartKeepr\PartBundle\Listeners\CategoryPathListener::updateCategoryPaths PHP Method

updateCategoryPaths() public method

Recursively updates the category paths.
public updateCategoryPaths ( PartCategory $partCategory, Doctrine\ORM\Event\OnFlushEventArgs $eventArgs )
$partCategory PartKeepr\PartBundle\Entity\PartCategory The footprint category to update
$eventArgs Doctrine\ORM\Event\OnFlushEventArgs
    public function updateCategoryPaths(PartCategory $partCategory, OnFlushEventArgs $eventArgs)
    {
        $entityManager = $eventArgs->getEntityManager();
        $pathSeparator = $this->container->getParameter('partkeepr.category.path_separator');
        $partCategory->setCategoryPath($partCategory->generateCategoryPath($pathSeparator));
        $entityManager->getUnitOfWork()->recomputeSingleEntityChangeSet($entityManager->getClassMetadata(get_class($partCategory)), $partCategory);
        foreach ($partCategory->getChildren() as $child) {
            $this->updateCategoryPaths($child, $eventArgs);
        }
    }