Wpis z mikrobloga

Pytanko z #php #symfony #symfony2

Mam takie coś: https://gist.github.com/miedzwin/6a1ee657fa1e3c7cadf4
Jestem zalogowany przez facebooka, przechodzę do edycji profilu użytkownika. Z pola z imieniem usuwam całą zawartość i wysyłam formularz. Wszystko działa, tak jak powinno, tzn. wyłapuję, że jest błąd i podświetlam z imieniem na czerwono, ale problem jest taki, że zarówno z formularza jak i ze zmiennej user znika mi firstName. Jeżeli odświeżę stronę (bez ponownego wysłania formularza), wszystko wraca do normy, tzn. wyświetla mi imię użytkownika. W bazie danych nic nie zmienia się. Imię użytkownika nie jest aktualizowane, ani usuwane.

Z formularza znika zmienna firstName, bo zostawiłem puste pole, ale dlaczego firstName znika też ze zmiennej user? Przecież w żaden sposób tego nie modyfikuję.

#webdevhelp
  • 1
@mariecziek: jest to normalne zachowanie, pole firstName jest mapowane a Ty robiąc $this->createForm(UserProfileType::class, $user); bindujesz tą zmienną z tym formularzem, w momencie handleRequest() zmienna user jest aktualizowana danymi z formularza a że jest to referencja do obiektu to w kontrolerze twój user będzie zmieniony. Jak chcesz sie dobrać do oryginalnego usera to $em->refresh($user) albo bawić się unit of workiem od doctrine