src/Kunstmaan/PagePartBundle/PagePartAdmin/PagePartAdmin.php
private function initializePageParts()
    {
        // Get all the pagepartrefs
        /** @var PagePartRefRepository $ppRefRepo */
        $ppRefRepo = $this->em->getRepository('KunstmaanPagePartBundle:PagePartRef');
        $ppRefs = $ppRefRepo->getPagePartRefs($this->page, $this->context);

        // Group pagepartrefs per type
        $types = array();
        foreach ($ppRefs as $pagePartRef) {
            $types[$pagePartRef->getPagePartEntityname()][] = $pagePartRef->getPagePartId();
            $this->pagePartRefs[$pagePartRef->getId()] = $pagePartRef;
        }

        // Fetch all the pageparts (only one query per pagepart type)
        /** @var EntityInterface[] $pageParts */
        $pageParts = array();
        foreach ($types as $classname => $ids) {
            $result = $this->em->getRepository($classname)->findBy(array('id' => $ids));
            $pageParts = array_merge($pageParts, $result);
        }

        // Link the pagepartref to the pagepart
        foreach ($this->pagePartRefs as $pagePartRef) {
            foreach ($pageParts as $key => $pagePart) {
                if (ClassLookup::getClass($pagePart) == $pagePartRef->getPagePartEntityname()
                    && $pagePart->getId() == $pagePartRef->getPagePartId()
                ) {
                    $this->pageParts[$pagePartRef->getId()] = $pagePart;
                    unset($pageParts[$key]);

                    break;
                }
            }
        }
    }
private function initializePageParts()
    {
        // Get all the pagepartrefs
        /** @var PagePartRefRepository $ppRefRepo */
        $ppRefRepo = $this->em->getRepository('KunstmaanPagePartBundle:PagePartRef');
        $ppRefs = $ppRefRepo->getPagePartRefs($this->page, $this->context);

        // Group pagepartrefs per type
        $types = array();
        foreach ($ppRefs as $pagePartRef) {
            $types[$pagePartRef->getPagePartEntityname()][] = $pagePartRef->getPagePartId();
            $this->pagePartRefs[$pagePartRef->getId()] = $pagePartRef;
        }

        // Fetch all the pageparts (only one query per pagepart type)
        /** @var EntityInterface[] $pageParts */
        $pageParts = array();
        foreach ($types as $classname => $ids) {
            $result = $this->em->getRepository($classname)->findBy(array('id' => $ids));
            $pageParts = array_merge($pageParts, $result);
        }

        // Link the pagepartref to the pagepart
        foreach ($this->pagePartRefs as $pagePartRef) {
            foreach ($pageParts as $key => $pagePart) {
                if (ClassLookup::getClass($pagePart) == $pagePartRef->getPagePartEntityname()
                    && $pagePart->getId() == $pagePartRef->getPagePartId()
                ) {
                    $this->pageParts[$pagePartRef->getId()] = $pagePart;
                    unset($pageParts[$key]);

                    break;
                }
            }
        }
    }
private function initializePageParts ( ) { // Get all the pagepartrefs /** @var PagePartRefRepository $ppRefRepo */ $ ppRefRepo = $ this -> em -> getRepository ( 'KunstmaanPagePartBundle:PagePartRef' ) ; $ ppRefs = $ ppRefRepo -> getPagePartRefs ( $ this -> page , $ this -> context ) ; // Group pagepartrefs per type $ types = array ( ) ; foreach ( $ ppRefs as $ pagePartRef ) { $ types [ $ pagePartRef -> getPagePartEntityname ( ) ] [ ] = $ pagePartRef -> getPagePartId ( ) ; $ this -> pagePartRefs [ $ pagePartRef -> getId ( ) ] = $ pagePartRef ; } // Fetch all the pageparts (only one query per pagepart type) /** @var EntityInterface[] $pageParts */ $ pageParts = array ( ) ; foreach ( $ types as $ classname => $ ids ) { $ result = $ this -> em -> getRepository ( $ classname ) -> findBy ( array ( 'id' => $ ids ) ) ; $ pageParts = array_merge ( $ pageParts , $ result ) ; } // Link the pagepartref to the pagepart foreach ( $ this -> pagePartRefs as $ pagePartRef ) { foreach ( $ pageParts as $ key => $ pagePart ) { if ( ClassLookup :: getClass ( $ pagePart ) == $ pagePartRef -> getPagePartEntityname ( ) && $ pagePart -> getId ( ) == $ pagePartRef -> getPagePartId ( ) ) { $ this -> pageParts [ $ pagePartRef -> getId ( ) ] = $ pagePart ; unset ( $ pageParts [ $ key ] ) ; break ; } } } }
Get all pageparts from the database, and store them.
Get all pageparts from the database and store them .