Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [inny][Symfony2] Dodawanie danych do zasubmitowanego forma.
maziak
post
Post #1





Grupa: Zarejestrowani
Postów: 155
Pomógł: 17
Dołączył: 9.07.2007

Ostrzeżenie: (0%)
-----


Witam,

Mam następujący problem. Próbuję umożliwić użytkownikowi dodawanie pewnych obiektów do swojego konta. Elementy te znajdują się w tabeli która zawiera w sobie miedzy innymi ID konta którego dotyczy wpis.
Generuję formularz standardowo na podstawie Entity - ale z wyłączeniem pola ID usera. Jasnym jest, że nie mogę załączyć id usera jako pola hidden formularza, bo ktoś mógłby za pomocą prostego tampera requestów edytować konta innych użytkowników.
I tutaj pojawia się problem.

  1.  
  2. <?php
  3. public function add_objectAction(Request $request)
  4. {
  5. $entity = new Object();
  6. $entity->setProfileId($this->getUser()->getProfile()->getId());
  7.  
  8. $form = $this->createForm(new ObjectType(), $entity);
  9. $form->bind($request);
  10.  
  11. if ($form->isValid()) {
  12. $em = $this->getDoctrine()->getManager();
  13. $em->persist($entity);
  14. $em->flush();
  15.  
  16. return $this->redirect($this->generateUrl('show_myprofile'));
  17. }
  18.  
  19. return $this->render('FunFunBundle:Object:new_object.html.twig', array(
  20. 'entity' => $entity,
  21. 'form' => $form->createView(),
  22. ));
  23. }


Myślałem, że $entity->setProfileId($this->getUser()->getProfile()->getId()); załatwi sprawę, a tu się okazuje, że podczas bindowania formularza wszystkie dane w entity są czyszczone.

Zatep pytanie wprost brzmi : jak dodać ID użytkownika do danych zasubmitowanego forma, tak aby przeszedł przez walidację?

Bardzo mnie dziwi brak obsługi takiej typowej sytuacji w Symfony2, zatem podejrzewam, że może popełniam tutaj jakiś błąd logiczny i zabieram się za sprawę od złej strony.

Będę wdzięczny za podpowiedź jak to zrobić lub jak Wy rozwiązalibyście taką sytuację w swoim projekcie(dodawanie obiektów do tabeli skojarzonych z kontem usera poprzez ID), jeżeli robię to źle.

Ten post edytował maziak 22.12.2012, 11:35:31
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 26.09.2025 - 09:37