Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [Symfony]Nested Sets
Forum PHP.pl > Forum > PHP > Frameworki
artur_dziocha
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
destroyerr
Pokaż jeszcze schemat dla tej tabeli.
artur_dziocha
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
Cysiaczek
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
artur_dziocha
Witam jeszcze raz.No to juz rozumiem co i jak.

Pozwolę sobie kontynuować wątek
Mam utowrzone takie drzewko

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


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
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.