Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [symfony] obsluga embedForm, doctrine - bo oszaleje!
Magician
post
Post #1





Grupa: Zarejestrowani
Postów: 17
Pomógł: 1
Dołączył: 20.03.2007

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


Witam,

nie wiem jak to zmusic do dzialania - symfony 1.4 RC2

schema yml:
  1. Oferta:
  2. actAs:
  3. Timestampable:
  4. columns:
  5. nazwa:
  6. type: string
  7.  
  8. OfertaTyp1:
  9. columns:
  10. oferta_id:
  11. type: integer
  12. par1:
  13. type: integer
  14. par2:
  15. type: integer
  16. relations:
  17. Oferta:
  18. foreignAlias: OfertaTypy1
  19. foreignType: many
  20. type: one
  21. local: oferta_id
  22. foreign: id


Konfiguracja formularza:
  1. public function configure()
  2. {
  3. unset($this['created_at'], $this['updated_at']);
  4. $o = new OfertaTyp1Form();
  5. unset($o['oferta_id']);
  6.  
  7. $this->embedForm('oferta1', $odf);
  8. }


Problemy:
1. przy edycji wyswietla się prawidłowo glówny formularz z embed formularzem. Głowny jest "zasilany" danymi, embed NIE (jak sprawić aby wyświetlał powiązany rekord w embed form?)
2. aby w ogóle coś się zapisywało z embed używam
  1. public function saveEmbeddedForms($con = null, $forms = null)
  2. {
  3. if (is_null($con))
  4. {
  5. $con = $this->getConnection();
  6. }
  7.  
  8. if (is_null($forms))
  9. {
  10. $forms = $this->embeddedForms;
  11. }
  12.  
  13. foreach ($forms as $form)
  14. {
  15. if ($form instanceof sfFormDoctrine)
  16. {
  17. // The magic start here
  18. $field_name = $this->getObject()->getTable()->getTableName().'_id';
  19. if($form->getObject()->contains($field_name)) {
  20. $method_name = 'set'.sfInflector::camelize($field_name);
  21. $form->getObject()->$method_name($this->getObject()->getId());
  22. }
  23. // Here it ends
  24. $form->getObject()->save($con);
  25. $form->saveEmbeddedForms($con);
  26. }
  27. else
  28. {
  29. $this->saveEmbeddedForms($con, $form->getEmbeddedForms());
  30. }
  31. }
  32.  
  33. }

Czy tak jest poprawnie? Wydawało mi się że symfony natywnie obsługuje embed form, ale im głębiej w to wchodzę tym mniej wiem.
3. Dozgonna wdzięczność dla osoby, która przedstawi od a do z rozwiązanie, tj. relacja 1:n, budowa formularza i jego obsługa (zasilenie,update)

Pomocy - 2 dzień a efekty mizerne mam....
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: 23.12.2025 - 23:38