Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [Doctrine] Po aktualizacji do wer. 1.1.3 nie działa createRoot() itp.., Po prostu nie można nic zrobić przy pomocy Nested Set
Sajrox
post
Post #1





Grupa: Zarejestrowani
Postów: 254
Pomógł: 7
Dołączył: 9.10.2007
Skąd: Poznań

Ostrzeżenie: (0%)
-----


Witam,

Czy ktoś także zauwazył problemy z Nested Set a mianowicie z funkcją  createRoot() itp ?

Po aktualizacji z wersji 1.1.2 do 1.1.3 są problemy z tą klasą. Kod który działał już nie działa.

  1.  
  2. $category = new Kategorie();
  3. $category->name = 'Root Category 1';
  4. $category->save();
  5.  
  6. $categoryTable = Doctrine::getTable('Kategorie');
  7.  
  8. $treeObject = $categoryTable->getTree();
  9. $treeObject->createRoot($category);
  10.  
  11.  





Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Sajrox
post
Post #2





Grupa: Zarejestrowani
Postów: 254
Pomógł: 7
Dołączył: 9.10.2007
Skąd: Poznań

Ostrzeżenie: (0%)
-----


Ciekawe (IMG:style_emoticons/default/smile.gif) Co do wersji językowych to z tym nie miałem do czynienia jeszcze w Dictrine ale na pewno się z tym zapoznam.

Mam tylko pytanie co do Cachowania drzewa.

Kod który stosuję nie działa:
  1. $treeObject = Doctrine::getTable('Kategorie')
  2. ->useResultCache(true)
  3. ->getTree();



A co do komentowania to aż tak tragicznie ? (IMG:style_emoticons/default/winksmiley.jpg) Hehe.

Jeszcze gdyby to nie był problem to napisz proszę jak np. wyciagasz dzieci kategorii na levelu 1. Chciałbm pobrać tylko dzieci danej kategorii (root) o levelu np. 1
W dokumentacji jest tylko wyciąganie całego drzewa bez mozliwości pobrania kategorii na danym poziomie (IMG:style_emoticons/default/sad.gif)


Edit:
I jeszcze chciałbym zaproponować pewien sposób na sortowanie pozycji kategorii.

  1. public function move($idFor=0, $idTo=0)
  2. {
  3. $recordFor = Doctrine::getTable($this->tblKategorie)->find($idFor);
  4. $recordTo = Doctrine::getTable($this->tblKategorie)->find($idTo);
  5.  
  6. if ($recordFor['lft'] < $recordTo['lft'])
  7. $recordFor->getNode()->moveAsNextSiblingOf($recordTo);
  8. if ($recordFor['lft'] > $recordTo['lft'])
  9. $recordFor->getNode()->moveAsPrevSiblingOf($recordTo);
  10. }


metoda move() przesuwa nam kategorie na dowolne miejsce na liście. Możemy tutaj przesunąć kategorie z 2 na 20 miejsce na liście (IMG:style_emoticons/default/smile.gif)



Ten post edytował Sajrox 18.08.2009, 16:55:57
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 27.12.2025 - 09:10