Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [SF][Symfony2][Symfony] Data Transformer problem
Forum PHP.pl > Forum > PHP > Frameworki
aras785
Cześć.

Zainstalowałem: https://github.com/PUGX/PUGXAutoCompleterBu...es/doc/index.md (select2). Troche musiałem zmienić w js ale formularz działa poprawnie (znaczy się pole wyszukuje poprawnie).

Ale niestety gdy chcę zapisać pole to dostaję błąd:


w kontrolerze daję:
  1. $form = $this->createFormBuilder($company)
  2. ->add('email','text',array('label'=>'Email'))
  3. ->add('name','text',array('label'=>'Nazwa'))
  4. ->add('street','text',array('label'=>'Ulica'))
  5. ->add('id_city','autocomplete',array('label'=>'Miasto','class'=>'Acme\Bundle\AdminBundle\Entity\City'))
  6. ->add('state','choice',array('label'=>'Województwo','choices'=>array('Dolnośląskie','Opolskie')))
  7. ->add('zipcode','text',array('label'=>'Kod pocztowy'))
  8. ->add('phone','text',array('label'=>'Telefon'))
  9. ->add('nip','text',array('label'=>'NIP'))
  10. ->add('website','text',array('label'=>'Website'))
  11. ->add('save', 'submit', array('label' => 'Zapisz'))
  12. ->getForm();

Entity dla company:
  1. ...
  2. /**
  3.   * Set idCity
  4.   *
  5.   * @param \Acme\Bundle\AdminBundle\Entity\City $idCity
  6.   * @return Company
  7.   */
  8. public function setIdCity(\Acme\Bundle\AdminBundle\Entity\City $idCity = null)
  9. {
  10. $this->idCity = $idCity;
  11.  
  12. return $this;
  13. }
  14.  
  15. /**
  16.   * Get idCity
  17.   *
  18.   * @return \Acme\Bundle\AdminBundle\Entity\City
  19.   */
  20. public function getIdCity()
  21. {
  22. return $this->idCity;
  23. }

Entity City wygląda stand. ID | Name itd.

A tutaj transfermer i formularz typu: autocomplete:
https://github.com/PUGX/PUGXAutoCompleterBu...ree/master/Form

Dziękuje.

pozdrawiam
ohm
A debugowałeś chociaż co przechodzi (i czy w ogóle coś przechodzi) przez ten transformer?
aras785
Cytat(ohm @ 8.07.2015, 12:38:25 ) *
A debugowałeś chociaż co przechodzi (i czy w ogóle coś przechodzi) przez ten transformer?


Nie wiem czy dobrze rozumiem. W Klasie ObjectToIdTransformer:
- metoda: transform zwraca "id" dobrze
- metoda reverseTransform - jakby wgl się nie uruchamiało...
ohm
Spróbuj ten transformer podpiąć pod główny formularz
  1. ->add($builder->create('id_city','autocomplete',array('label'=>'Miasto','class'=>'Acme\Bundle\AdminBundle\Entity\City'))->addModelTransformer($transformer))
aras785
Zaraz to sprawdzę ale według mnie to ten cały bundl traci sens...
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.