Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [Symfony] Zapisywanie kodu pocztowego z dwóch pól formularza
Forum PHP.pl > Forum > PHP > Frameworki
plk
Witam,
w bazie mam kolumnę kod_poc, w której zapisywane są kody pocztowe miejscowości. Chciałem aby w formularzu dane były wprowadzane poprzez 2 pola tekstowe - pierwsze 2 cyfry w jednym a kolejne 3 w drugim. Skorzystałem z widgetu sfWidgetFormSchema i w metodzie configure() formularza ustawiłem tak:
  1. $pocztowyWidget = new sfWidgetFormSchema(array(
  2. 'kod_1' => new sfWidgetFormInput(array(),array('size'=>'2','maxlength'=>'2')),
  3. 'kod_2' => new sfWidgetFormInput(array(),array('size'=>'3','maxlength'=>'3')),
  4. ),
  5. array('form_formatter'=>'list')
  6. );
  7. $this->widgetSchema['kod_poc']= $pocztowyWidget;

Chciałbym się dowiedziec jak teraz zrobic aby dane z tych dwóch pól były zapisywane w bazie w formacie XX-XXX bo teraz zapisuje mi w bazie 'Array'. Jak powiedzieć symfony żeby odpowiednie dane wyciągać z tablicy kod_poc: { kod_1: '12', kod_2: '112' }? No i żeby działało to również przy edycji. Ważne jest aby w bazie było zapisywane w formacie xx-xxx bo baza już istnieje i teraz wszystkie kody pocztowe są zapisane w ten sposób.
Pr0100
1. stwórz 2 nowe Widgety
2. daj im jakiś validatory
3. $this->validatorSchema->setOption('allow_extra_fields', true);
4. $this->validatorSchema->setOption('filter_extra_fields', false);
5. nadpisz jakąś metodę z sfFormDoctrine/sfFormPropel,

  1. public function updateObject($values = null)
  2. {
  3. $obj = parent::updateObject(&$values);
  4. $obj->setPostCode($values['post_code_1'].'-'.$values['post_code_2']);
  5. return $obj;
  6. }


coś w tym stylu (napisane od ręki)
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.