![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 999 Pomógł: 30 Dołączył: 14.01.2007 Skąd: wiesz ? Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Zrobiłem sobie model użytkownika który składa się z dwóch dodatkowych klas. Niestety podczas serializacji nie są one dodawane do łańcucha wynikowego. Czy jest jakaś opcja która umożliwia serializację również obiektów dołączanych czy będę musiał napisać to ręcznie? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 57 Pomógł: 9 Dołączył: 12.11.2005 Skąd: ze wnowu?! Ostrzeżenie: (0%) ![]() ![]() |
Ostatnio tez sie na to nadzialem...
Wychodzi na to, ze to jest blad w doctrine. Poniewaz serializacja zapisuje tylko to co fizycznie jest w obiekcie, to nie zlapie tego, co doctrine trzyma sobie gdzies-tam przez __get i __set. Mysle, ze mozna to obejsc dopisujac zapisywanie wartosci tych 2 pol gdzies przez __sleep, a potem przywracanie ich przez __wakeup. Nie testowane - u nas rozwiazalismy to inaczej (zmiana serializacji na trzymanie w bazie ze stanem 'nieaktywny'). |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 879 Pomógł: 189 Dołączył: 14.06.2006 Skąd: Bytom Ostrzeżenie: (0%) ![]() ![]() |
To nie jest błąd i nie trzeba go obchodzić. Logiczne jest, że obiekt nie załaduje wszystkich swoich relacji żeby się zserializować razem z nimi. Mogłoby dojść do sytuacji, że zostałaby pobrana cała baza. Niczego nie trzeba nadpisywać (a jeśli już to Doctrine_Record::serialize()), wystarczy przed serializacją pobrać do obiektu odpowiednie dane.
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 999 Pomógł: 30 Dołączył: 14.01.2007 Skąd: wiesz ? Ostrzeżenie: (0%) ![]() ![]() |
Już to obszedłem nadpisując serializacje. Szkoda że nie ma opcji manipulacji serializacją.
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 57 Pomógł: 9 Dołączył: 12.11.2005 Skąd: ze wnowu?! Ostrzeżenie: (0%) ![]() ![]() |
Znalazlem rozwiazanie tego problemu, okazalo sie prostsze niz bym sie spodziewal (IMG:style_emoticons/default/smile.gif)
Wiecej: serializeRefefences(). |
|
|
![]() ![]() |
![]() |
Aktualny czas: 4.10.2025 - 06:52 |