PartKeepr\CoreBundle\Command\UpdateCategoryPathCommand::regenerateCategoryPaths PHP Method

regenerateCategoryPaths() public method

public regenerateCategoryPaths ( $entity )
    public function regenerateCategoryPaths($entity)
    {
        $repository = $this->getContainer()->get('doctrine.orm.default_entity_manager')->getRepository($entity);
        /*
         * @var $repository NestedTreeRepository
         */
        $rootNodes = $repository->getRootNodes();
        $pathSeparator = $this->getContainer()->getParameter('partkeepr.category.path_separator');
        foreach ($rootNodes as $rootNode) {
            /*
             * @var $rootNode CategoryPathInterface
             */
            $rootNode->setCategoryPath(uniqid());
        }
        $this->getContainer()->get('doctrine.orm.default_entity_manager')->flush();
        foreach ($rootNodes as $rootNode) {
            $rootNode->setCategoryPath($rootNode->generateCategoryPath($pathSeparator));
        }
        $this->getContainer()->get('doctrine.orm.default_entity_manager')->flush();
    }