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


Dzieki wielkie za wyjaśnienie (IMG:style_emoticons/default/smile.gif)

Generalnie co do wyciagania samych dzieci użyłem funkcji getChildren()

Jeszcze męczy mnie jeden problem:


Mam kod

  1.  
  2. $q = Doctrine::getTable('FirmyOpisy')->findOneByFirmyId(1);
  3.  
  4. $q->opis = $opis;
  5.  
  6. $q->save();
  7.  


Otóż gdy w tabeli FirmyOpisy jest krotka o firmy_id = 1 to wszystko jest ok jednak gdy jej nie ma wywala błąd:

  1.  
  2. Fatal error: Call to undefined method stdClass::save() in ...
  3.  


Jakby nie mogło po prostu nic nie wyświetlić albo zwrócić false a tutaj taki błąd. Można jakoś przed wywołaniem save() sprawdzić czy krotka istnieje w tabeli ?




Go to the top of the page
+Quote Post
murwazy
post
Post #3





Grupa: Zarejestrowani
Postów: 53
Pomógł: 5
Dołączył: 13.04.2007
Skąd: Szczecin

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


Cytat(Sajrox @ 19.08.2009, 11:59:39 ) *
Jakby nie mogło po prostu nic nie wyświetlić albo zwrócić false a tutaj taki błąd. Można jakoś przed wywołaniem save() sprawdzić czy krotka istnieje w tabeli ?

zwraca false, tylko ze pozniej na tym false wywolujesz metode save()
  1. if ($q !== false) $g->save();
  2. // albo
  3. if ($q['id']) $g->save();

pozdrawiam

Ten post edytował murwazy 19.08.2009, 11:39:10
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: 10.10.2025 - 21:11