Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [Symfony]sfPropelActAsNestedSetBehaviorPlugin
Forum PHP.pl > Forum > PHP > Frameworki
Lonas
Takie pytanko mam bo chce trzymac drzewko w bazie danych - uzywam do tego pluginu sfPropelActAsNestedSetBehaviorPlugin

Wszystko mam juz poustawiane ale chyba czegos nie rozumiem.

W dokumentacji sa przyklady dodania drzewka

  1. <?php
  2. $root = new ForumPost();
  3.  $root->makeRoot();
  4.  $root->save();
  5.  
  6.  $p1 = new ForumPost();
  7.  $p1->insertAsFirstChildOf($root);
  8.  $p1->save();
  9.  
  10.  $p2 = new ForumPost();
  11.  $p2->insertAsFirstChildOf($p1);
  12.  $p2->save();
  13.  
  14.  /*
  15.    * Resulting tree :
  16.    *
  17.    * ROOT
  18.    * |- P1
  19.    *    |- P2
  20.    */
  21. ?>


Moje pytanie jest takie wybieram z listy dostepne kategorie - przekazuje id danej kategorii i chce zeby byla to kategoria nadrzedna,
Robe tak :

  1. <?php
  2. $root = new Gallery();
  3.  
  4.        $root->setTitle($request->getParameter('gallery[title]'));
  5.        $root->insertAsFirstChildOf($request->getParameter('gallery[tree_id]'));        
  6.        $root->save();
  7. ?>


ale otrzymuje blad

  1. Catchable fatal error: Argument 2 passed to sfPropelActAsNestedSetBehavior::insertAsFirstChildOf() must be an instance of BaseObject, string given in C:\Program Files\WebServ\httpd\gallery\plugins\sfPropelActAsNestedSetBehaviorPlugin\lib\sfP
    ropelActAsNestedSetBehavior.class.php on line 241
mike
insertAsFirstChildOf() przyjmuje jako argument obiekt a nie identyfikator obiektu.
Co zresztą masz jak byk napisane:
Cytat
Catchable fatal error: Drugi argument przekazany do sfPropelActAsNestedSetBehavior::insertAsFirstChildOf() musi być obiektem klasy BaseObject a został przekazany string. Dzieje się to w C:\Program Files\WebServ\httpd\gallery\plugins\sfPropelActAsNestedSetBehaviorPlugin\lib\sfPropelActAsNestedSetBehavior.class.php on line 241
Lonas
Dlaczego kiedy wykonuje kod

  1. <?php
  2. //tworze obiekt nadrzedny
  3.    $root = new GalleryTree();
  4.    $root = GalleryTreePeer::retrieveByPk('2');
  5.    
  6.    //obiekt dziecko
  7.    $p1 = new GalleryTree();
  8.    $p1->insertAsFirstChildOf($root);
  9.    $p1->save();
  10. ?>


caly czas otrzymuje blad
Fatal error: Call to undefined method PropelPDO::createStatement() in C:\Program Files\WebServ\httpd\sf_sandbox\plugins\sfPropelActAsNestedSetBehaviorPlugin\lib\sfPropelActAsNestedSetBehavior.class.php on line 1077

szukalem w google ale nic nie znalazlem.

Tworzac root-a wszystko jest ok

  1. <?php
  2. $root = new GalleryTree();
  3.  $root->makeRoot();
  4.  $root->save();
  5. ?>


a potem jak chce dodac nastepna galaz jest blad :/
sneq
Cytat(Lonas @ 10.12.2008, 14:00:54 ) *
Dlaczego kiedy wykonuje kod

  1. <?php
  2. //tworze obiekt nadrzedny
  3.    $root = new GalleryTree();
  4.    $root = GalleryTreePeer::retrieveByPk('2');
  5.    
  6.    //obiekt dziecko
  7.    $p1 = new GalleryTree();
  8.    $p1->insertAsFirstChildOf($root);
  9.    $p1->save();
  10. ?>


A zapisać najpierw ROOT'a to co? :-)
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.