Witam,

Potrzebuję zrobić tak aby w polu wyboru wczytywała mi się kolekcja Imion z klasy User .
Gdybym miał "z palca" wpisać to wyglądało by to tak:



  1. namespace My\CosTamBundle\Form;
  2.  
  3. use Symfony\Component\Form\AbstractType;
  4. use Symfony\Component\Form\FormBuilderInterface;
  5. use Symfony\Component\OptionsResolver\OptionsResolverInterface;
  6.  
  7. class CosType extends AbstractType
  8. {
  9. public function buildForm(FormBuilderInterface $builder, array $options)
  10. {
  11. $builder
  12. ->add('matchday', 'choice', array(
  13. 'choices' => array('Jakub','Adam','Marcin','Wojtek'),
  14. ))
  15. }
  16.  
  17. ....
  18.  
  19. }



A jak to będzie z użyciem klasy User ?
Klasa User ma w ciele tylko pole "name" .


Dzięki







...


ok ,
znalazłem odpowiedź. To ma być tak zrobione:


  1. namespace My\CosTamBundle\Form;
  2.  
  3. use Symfony\Component\Form\AbstractType;
  4. use Symfony\Component\Form\FormBuilderInterface;
  5. use Symfony\Component\OptionsResolver\OptionsResolverInterface;
  6. use My\CosTamBundle\Entity\User;
  7.  
  8. class CosType extends AbstractType
  9. {
  10.  
  11. public function buildForm(FormBuilderInterface $builder, array $options)
  12. {
  13. $builder
  14. ->add('matchday', 'entity', array(
  15. 'class' => 'CosTamBundle:User',
  16. 'property' => 'username'
  17. )
  18. );
  19. ...
  20.  
  21. }