Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [Symfony] nestedSet - problem
Forum PHP.pl > Forum > PHP > Frameworki
janek9
Witam, probuje uruchomic nestedtree zgodnie z dokumentacja dla propel 1.3. Utworzylem tabele tak jak jest tam opisane, natomiast przy probie zapisu do tej tabeli nie widzi funkcji: makeRoot(). Co jest grane..? Pomoże mi ktos..

  1.  
  2. root = new Menu();
  3. $root->setText('Google');
  4. $root->setLink('http://www.google.com');
  5.  
  6. $root->makeRoot();
  7. $root->setScopeIdValue(1); // Tree 1
  8. $root->save();
  9.  
  10. $menu = new Menu();
  11. $menu->setText('Google Mail');
  12. $menu->setLink('http://mail.google.com');
  13. $menu->insertAsLastChildOf($root);
  14. $menu->save();
  15.  
  16. // Create secund root node
  17. $root2 = new Menu();
  18. $root2->setText('Yahoo!');
  19. $root2->setLink('http://www.yahoo.com');
  20.  
  21. $root2->makeRoot();
  22. $root2->setScopeIdValue(2); // Tree 2
  23. $root2->save();
  24.  
  25. $menu = new Menu();
  26. $menu->setText('Yahoo! Mail');
  27. $menu->setLink('http://mail.yahoo.com');
  28. $menu->insertAsLastChildOf($root2);
  29. $menu->save();
  30.  



link do dokumentacji: nestedset propel1.3
strife
A jak wygląda Twój model (chodzi mi o plik schema.yml) ? Spróbuj zrobić analogicznie do tego: http://www.agehrke.com/2009/04/nested-set-in-propel-13/

Jak to nie pomoże to będziemy myśleć dalej smile.gif
janek9
Cytat(strife @ 21.03.2010, 14:06:00 ) *
A jak wygląda Twój model (chodzi mi o plik schema.yml) ? Spróbuj zrobić analogicznie do tego: http://www.agehrke.com/2009/04/nested-set-in-propel-13/

Jak to nie pomoże to będziemy myśleć dalej smile.gif



Na wstepie dzieki za pomoc:). Wiec moja tabela do nestedtree wyglada nastepujaco w schema.yml:

  1.  
  2. menu:
  3. _attributes: { phpName: Menu, treeMode: NestedSet, idMethod: native }
  4. id: ~
  5. lft: { type: integer, required: true, default: 0, nestedSetLeftKey: true, index: true }
  6. rgt: { type: integer, required: true, default: 0, nestedSetRightKey: true, index: true }
  7. scope: { type: integer, required: true, default: 0, treeScopeKey: true, index: true }
  8. text: { type: varchar, size: 128, required: true, default: "" }
  9. link: { type: varchar, size: 255, required: true, default: "" }
  10.  


Poprostu chce przetestowac to dlatego uzylem takiej samej tabeli jak w dokumentacji..Naprawde nie wiem dlaczego nie widzi tego. Ale sprobuje za chwile zrobic tak jak podales mi w tym linku :-)
strife
Pamiętam, że model musi dziedziczyć pod jakiejś klasie NestedSet czy jakoś tak, aby to działało, spróbuj przebudować jeszcze raz model. U mnie jest tak, mam klasę Category:

lib/model/Category.php
  1. class Category extends BaseCategoryNestedSet


I mam w katalogu lib/model/om/BaseCategoryNestedSet.php wygenerowane, musisz do czegoś takiego dojść smile.gif
janek9
Dzieki za pomoc, poradzilem sobie juz:) Mialem zle zbudowana tabele oczywiscie.. Ale zainteresowalem sie pluginem: caPropelTreePlugin.

Pozdrawiam
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.