src/Kunstmaan/MediaBundle/Repository/FolderRepository.php
public function rebuildTree()
    {
        $em = $this->getEntityManager();

        // Reset tree...
        $sql = 'UPDATE kuma_folders SET lvl=NULL,lft=NULL,rgt=NULL';
        $stmt = $em->getConnection()->prepare($sql);
        $stmt->execute();

        $folders = $this->findBy(array(), array('parent' => 'ASC', 'name' => 'asc'));

        $rootFolder = $folders[0];
        $first = true;
        foreach ($folders as $folder) {
            // Force parent load
            $parent = $folder->getParent();
            if (is_null($parent)) {
                $folder->setLevel(0);
                if ($first) {
                    $this->persistAsFirstChild($folder);
                    $first = false;
                } else {
                    $this->persistAsNextSiblingOf($folder, $rootFolder);
                }
            } else {
                $folder->setLevel($parent->getLevel() + 1);
                $this->persistAsLastChildOf($folder, $parent);
            }
        }
        $em->flush();
    }
public function rebuildTree()
    {
        $em = $this->getEntityManager();

        // Reset tree...
        $sql = 'UPDATE kuma_folders SET lvl=NULL,lft=NULL,rgt=NULL';
        $stmt = $em->getConnection()->prepare($sql);
        $stmt->execute();

        $folders = $this->findBy(array(), array('parent' => 'ASC', 'name' => 'asc'));

        $rootFolder = $folders[0];
        $first = true;
        foreach ($folders as $folder) {
            // Force parent load
            $parent = $folder->getParent();
            if (is_null($parent)) {
                $folder->setLevel(0);
                if ($first) {
                    $this->persistAsFirstChild($folder);
                    $first = false;
                } else {
                    $this->persistAsNextSiblingOf($folder, $rootFolder);
                }
            } else {
                $folder->setLevel($parent->getLevel() + 1);
                $this->persistAsLastChildOf($folder, $parent);
            }
        }
        $em->flush();
    }
public function rebuildTree ( ) { $ em = $ this -> getEntityManager ( ) ; // Reset tree... $ sql = 'UPDATE kuma_folders SET lvl=NULL,lft=NULL,rgt=NULL' ; $ stmt = $ em -> getConnection ( ) -> prepare ( $ sql ) ; $ stmt -> execute ( ) ; $ folders = $ this -> findBy ( array ( ) , array ( 'parent' => 'ASC' , 'name' => 'asc' ) ) ; $ rootFolder = $ folders [ 0 ] ; $ first = true ; foreach ( $ folders as $ folder ) { // Force parent load $ parent = $ folder -> getParent ( ) ; if ( is_null ( $ parent ) ) { $ folder -> setLevel ( 0 ) ; if ( $ first ) { $ this -> persistAsFirstChild ( $ folder ) ; $ first = false ; } else { $ this -> persistAsNextSiblingOf ( $ folder , $ rootFolder ) ; } } else { $ folder -> setLevel ( $ parent -> getLevel ( ) + 1 ) ; $ this -> persistAsLastChildOf ( $ folder , $ parent ) ; } } $ em -> flush ( ) ; }
Rebuild the nested tree
Rebuild the nested tree