Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [Symfony]Nested Sets, Tworzenie drugiego root node
artur_dziocha
post
Post #1





Grupa: Zarejestrowani
Postów: 320
Pomógł: 53
Dołączył: 18.09.2007
Skąd: Radom

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


Witam serdecznie.
Próbuję utworzyć sobie drzewka w Symfony.Propel.
Wszystko skonfigurowane wg dokumentacji Propela
no i mam pewien problem przy tworzeniu root noda
Pierwsze tworzę tak
  1. <?php
  2. $root->setName($request->getParameter('name'));
  3. $root->setNameSluged($request->getParameter('name'));
  4. $root->makeRoot();
  5. $root->setScopeIdValue(1); //próbowałem też bez ustawiania scopeID
  6. $root->save();
  7. ?>


i z drugim mam problem:( Robię w ten sposób
  1. <?php
  2. $root = CategoryPeer::retrieveRoot(1);
  3. $new = new Category();
  4. $new->setName($request->getParameter('name'));
  5. $new->setNameSluged($request->getParameter('name'));
  6. $new->insertAsNextSiblingOf($root);
  7. $new->setScopeIdValue(2);
  8. $new->save();
  9. ?>

ten sposób wywala mi błąd "Root nodes cannot have siblings"

Może ktoś pomóc z tworzeniem drugiego root noda??

Pozdrawiam

Ten post edytował artur_dziocha 20.07.2009, 22:49:39
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
destroyerr
post
Post #2





Grupa: Zarejestrowani
Postów: 879
Pomógł: 189
Dołączył: 14.06.2006
Skąd: Bytom

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


Pokaż jeszcze schemat dla tej tabeli.
Go to the top of the page
+Quote Post
artur_dziocha
post
Post #3





Grupa: Zarejestrowani
Postów: 320
Pomógł: 53
Dołączył: 18.09.2007
Skąd: Radom

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


Witam
Kod
category:
    _attributes: { phpName: Category, treeMode: NestedSet}
    id: { type: INTEGER, primaryKey: true, autoIncrement: true, required: true }
    lft: { type: integer, required: true, nestedSetLeftKey: true }
    rgt: { type: integer, required: true, nestedSetRightKey: true }
    scope: { type: integer, treeScopeKey: true, required: true, defaultValue: 0 }
    level: { type: INTEGER }
    name: { type: VARCHAR, size: '100', required: true }
    name_sluged: { type: VARCHAR, size: '100', required: true }


model stworzony z konsoli
Kod
php symfony propel:build-model


klasy Category oraz CategoryPeer wygladają prawidłowo.

Pozdrawiam
Go to the top of the page
+Quote Post
Cysiaczek
post
Post #4





Grupa: Moderatorzy
Postów: 4 465
Pomógł: 137
Dołączył: 26.03.2004
Skąd: Gorzów Wlkp.




scope_id masz po to, aby tworzyć osobne drzewa w ramach jednej tabeli. Komunikat jest ok i wyjaśnia wszystko. Musisz operować na rootach osobno.

Pozdrawiam
Go to the top of the page
+Quote Post
artur_dziocha
post
Post #5





Grupa: Zarejestrowani
Postów: 320
Pomógł: 53
Dołączył: 18.09.2007
Skąd: Radom

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


Witam jeszcze raz.No to juz rozumiem co i jak.

Pozwolę sobie kontynuować wątek
Mam utowrzone takie drzewko
(IMG:http://img254.imageshack.us/img254/2139/zrzutekranuc.png)
i taką strukturę bazy
http://img160.imageshack.us/img160/6417/zrzutekranu1f.png

I nie wiem czemu, czy to jest związane z tym bugiem Propela rozwala mi się struktura drzewka po usunięciu jakiejkolwiek gałęzi. Wtym przypadku cat1-1-1-1
Struktura bazy po usunięciu Noda
(IMG:http://img27.imageshack.us/img27/3982/zrzutekranu2a.png)

czy może ja coś źle robie??

Kod , którym usuwam gałąź drzewka
  1. <?php
  2. public function executeRemove(sfWebRequest $request)
  3. {
  4. $node = CategoryPeer::getNode($request->getParameter('id'));
  5. //$node CategoryPeer::retrieveByPk($request->getParameter('id'));
  6. $delNode = CategoryPeer::deleteNode($node);}
  7. ?>


Pozdrawiam

Ten post edytował artur_dziocha 25.07.2009, 15:47:41
Go to the top of the page
+Quote Post

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: 22.08.2025 - 23:56