![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 24 Pomógł: 0 Dołączył: 22.03.2012 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
w swoim projekcie wykorzystuje Tree behavior extension dla Doctrine 2. Chciałem móc kopiować i wycinać poszczególne nody do nowego miejsce w drzewie. Zrobienie "wycinania" noda do innego miejsca było dość łatwe, wystarczyło bowiem zmienić wartość atrybutu parent w obiekcie. Niestety z kopiowaniem mam już problemy. Próbowałem z klonować obiekt, a następnie go dodać do bazy:
Niestety, tak jak przypuszczałem skopiował samego noda bez dzieci i relacji. Z tego co wyczytałem brak relacji można załatwić po przez napisanie funkcji magicznej __clone(). Jednak co z dziećmi? Istnieje jakiś szybki i wydajny sposób na przekopiowanie noda wraz z dziećmi i wszystkimi relacjami bez konieczności wyciągania "ręcznie" dzięci z każdego zagnierzdźenia? Pozdrawiam. Ten post edytował korniks 26.05.2012, 12:22:36 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 435 Pomógł: 40 Dołączył: 16.02.2003 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
A czemu nie napiszesz metody __clone() dla tego obiektu?
Masz tutaj poradnik jak to zrobić: http://docs.doctrine-project.org/projects/...p-or-clone.html A jak chcesz konkretny kod to musisz dać kod swojej klasy. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 13.10.2025 - 05:59 |