![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 30 Pomógł: 0 Dołączył: 8.11.2005 Skąd: Zabrze Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Mam problem z sklonowaniem obiektu A i ponownym zapisie go do tej samej tabeli jako nowy wiersz (w między czasie może być zmieniona pewna właściwość, ale większość jest taka jak u klona). Robię tak:
próbowałem również bez detach... Błędu żadnego nie dostaję, ale obiekt nie jest kopiowany. Może to jakiś bug? ![]() Próbowałem również rozwiązania z http://stackoverflow.com/questions/9071094...w-in-doctrine-2 niestety zamieszczony tam unset wyrzuca błąd o próbie dostępu do atrybutów prywatnych (dość logiczne). W związku z tym moje pytanie brzmi - jak poprawnie skopiować obiekt A do tej samej tabeli? UPDATE Nie mam pojęcia czy to coś z metodą __clone czy może bug w Symfony, ale z problemem można sobie poradzić pisząc metodę np. copyFrom w kopiowanej klasie, następnie utworzyć nową instancję tej klasy i wywołać metodę. Przykładowo:
natomiast w samej metodzie copyFrom napisać ręczne kopiowanie wartości np.:
Pytanie nadal aktualne, bo powinno się to samo dać zrobić przy pomocy klonowania, tylko dlaczego się nie da? Ten post edytował adalgrim 28.06.2012, 21:04:48 |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 435 Pomógł: 40 Dołączył: 16.02.2003 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Pokaże kod metody __clone. Zaimplementowałeś ją zgodnie z http://doctrine-orm.readthedocs.org/en/2.0...p-or-clone.html ?
...nadpisaną metodę __clone w której id ustawiam na null nie ustawiaj id na null i zobacz czy wtedy zadziała. (ja nigdy tego nie robiłem przy, własny kod __clone przydawał się tylko gdy obiekt ma jakieśp powiązania 1:N) Ten post edytował ano 1.07.2012, 17:58:15 -------------------- Linkedin | ...
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 22.06.2025 - 16:00 |