Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [ZendFramework]problem z formularzem php + Zend
zonta88
post
Post #1





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 29.04.2013

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


Witam

Mam klasę z formularzem o nazwie: OfertaSzukajForm.
Generalnie formularz działa bez zarzutu. Jest jednak 1 mankament. Chciałbym wprowadzić pole wyboru powierzchni mieszkania.
W tabli (w bazie mysql) jest kolumna z odpowiednimi wartościami, na których muszę zrobić selecta by przedstawić tylko te, które użytkownik wybrał.
  1. $this->add(array(
  2. 'name' => 'powierzchnia',
  3. 'type' => 'Select',
  4. 'options' => array(
  5. 'label' => 'Powierzchnia od',
  6. 'empty_option' => '-',
  7. 'value_options' => array(
  8. 'a' => 'od 1 do 50',
  9. 'D' => 'od 51 do 100',
  10. 'G' => 'od 101'
  11. )
  12. ),
  13. ));


Napisałem kod powyżej. Co oczywiście by działało gdyby wartościami w kolumnie "powierzchnia" w bazie danych były litery 'a' , 'D' , 'G'.
Pytanie jak w tym miejscu umieścić jakiegoś Selecta // odwołanie do funkcji która zwraca array tego Selecta ?

Bardzo proszę o pomoc.

Pozdrawiam,
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
unixslayer
post
Post #2





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 28.05.2013
Skąd: Kraków

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


Ja bym to zrobił w formularzu. Tylko musisz do niego przekazać uchwyt do bazy, np. EntityManager - najlepiej w konstruktorze.

Ale jeżeli korzystasz z ZF2 - a widzę, że chyba korzystasz - to można to zrobić w bardzo prosty sposób:


  1. $this->add(array(
  2. 'type' => 'DoctrineORMModule\Form\Element\EntitySelect',
  3. 'name' => 'powierzchnia',
  4. 'options' => array(
  5. 'empty_option' => 'wybierz',
  6. 'label' => 'Powierzchnia',
  7. 'object_manager' => $em,
  8. 'target_class' => 'Admin\Model\Powierzchnia',
  9. 'is_method' => true,
  10. 'find_method' => array(
  11. 'name' => 'findBy',
  12. 'params' => array(
  13. 'criteria' => $criteria,
  14. 'orderBy' => array('name' => 'ASC'),
  15. ),
  16. ),
  17. ),
  18. ));
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: 1.01.2026 - 18:27