[ alfa-pro @ 05.04.2014. 11:47 ] @
Drustvo, trenutno sam se nasao u corsokaku, nemogu napred mogu samo nazad :/ U pitanju je E-Commerce projekat, prikocilo je kod izlistavanja kategorija. Da pojasnim to malo bolje, prvo da vidite strukturu tabele pa ce vam biti jasnije tbl_ecommerce_categories
Kao sto vidite u tabeli glavna root kategorija je Clothing i sadrzi parent vrednost NULL. Sve ostale podkategorije imaju Parent vrednost neke root kategorije u ovom slucaju: Women, Man, Boys, Girls pripadaju kategoriji Clothing. E sada moja zamisao da preskocim self join i da to izlistam u svojoj navigaciji jeste bila da prvo preuzmem sve root kategorije i pomocu Doctrine Array Colection preuzmem pod kategorije. Evo Entity klase: http://ideone.com/EwOT4P Evo repository metode: Code: /** * Get all root categories * * */ public function getAllRootCategories() { return $this->getEntityManager() ->createQuery( 'SELECT c FROM ISLabECommerceBundle:Category c WHERE c.parent IS NULL ORDER BY c.name ASC' ) ->getResult(); } Controller metoda: Code: public function categoryListAction() { $em = $this->container->get('doctrine'); $categories = $em->getRepository('ISLabECommerceBundle:Category')->getAllRootCategories(); return $this->container->get('templating')->renderResponse( 'ISLabECommerceBundle:Category:list.html.twig', array( 'categories' => $categories ) ); } I naravno view twig: Code: <ul id="cat_accordion"> {% for category in categories %} <li> <a href="">{{ category.name }}</a> <ul style="display: none;"> {% for sub_category in category.children %} <li><a href="">{{ sub_category.name }}</a> </li> {% endfor %} </ul> </li> {% endfor %} </ul> Sa svim ovim ja sam postigao da izlistam sve glavne kategorije koje imaju vrednost NULL i sve kategorije koje njoj pripadaju. ![]() Problem nastaje sta ako ocu da podkategorija Women ima svoje pod kategorije? Ona nema parent vrendost NULL vec id od njene glavne kategorije. Moram nesto povodom toga uraditi u repository metodi, problem je sto sam ja zadao da on izlistava glavne sa NULL vrednost. Realno gledano ja sa ovim mogu uzeti dva levela da preuzmem kategorije.
Iskreno nista mi nepada na pamet kako da odradim ovo a da mi izlistava sve glavne i pod kategorije i da te podkategorije imaju svoje pod kategorije. Ima neko neki predlog? NOTE: samo molim vas da mi nenudite nested data set (lft, rgt) itd... |