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%)
-----


A więć. Dzisiaj usiadłem sobie i zrobiłem to samo co wczoraj i co ? Działa !

Może miałem jakiś zastój w Apache, cholera wie. Ale działa i to jest najważniejsze.


Ale mam kilka pytań do tego modułu w Doctrine.
1) Czy jest on bardzo wydajny przy budowie dynamicznie rozwijanego drzewa kategorii w ajaxie.
2) Po co są te pola w bazie "lft" i "rgt" czy mogą mi się jakoś przydać (IMG:style_emoticons/default/questionmark.gif)


Dołączam także przykłąd mojej klasy do dodawania do bazy kategorii przy pomocy tego mechanizmu.
  1. /**
  2.   * Dodanie krotki do bazy
  3.   * @param $_POST['nazwa'] - nazwa kategorii
  4.   * @param $this->tblKategorie - nazwa tabeli
  5.   * @param $this->id - identyfikator otwartej kategorii (z $_GET)
  6.   * @return int
  7.   */
  8. public function dodaj()
  9. {
  10. $this->conn->beginTransaction();
  11.  
  12. $return = 0;
  13. try
  14. {
  15. if ($this->id == 0)
  16. {
  17. // Dodanie kategorii głównej
  18. $q = new $this->tblKategorie;
  19. $q->name = parent::POST('nazwa');
  20. }
  21. else {
  22. // Dodanie podkategorii do danej kategorii
  23. $q = Doctrine::getTable($this->tblKategorie)->findOneById($this->id);
  24.  
  25. // Tworzenie podkategorii
  26. $child = new $this->tblKategorie;
  27. $child->name = parent::POST('nazwa');
  28. $child->kategorie_id = $this->id;
  29. }
  30.  
  31. if ($q->isValid())
  32. {
  33. if ($this->id == 0) {
  34. // Dodanie kategorii i utworzenie z niej kategorii głównej
  35. $q->save();
  36. $treeObject = Doctrine::getTable($this->tblKategorie)->getTree();
  37. $treeObject->createRoot($q);
  38. }
  39. else {
  40. // Dodanie podkategorii do kategorii głównej
  41. $child->getNode()->insertAsLastChildOf($q);
  42. }
  43.  
  44. if ($this->conn->commit())
  45. $return = 1;
  46. }
  47. else
  48. $return = -1;
  49. }
  50. catch(Doctrine_Exception $e) {
  51. Lib_MyException::get($e);
  52. $this->conn->rollback();
  53. }
  54.  
  55. return $return;
  56. }
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 28.12.2025 - 15:26