Cześć.
Chce przygotować formularz z kilkoma danymi do wyboru.
Niektóre z nich wchodzą w encję User, ale niektóre chce przechowywać w innej tabeli.

Chciałbym wstrzyknąć do RegisterFormType.php listę elementów wyciągniętych z bazy danych.

Korzystam z funkcji
  1. public function buildForm(FormBuilderInterface $builder, array $options )
  2. {
  3. $builder
  4. ->add('username',TextType::class, [
  5. 'label' => 'Imię'
  6. ])
  7. ->add('sername',TextType::class, [
  8. 'label' => 'Nazwisko'
  9. ])
  10. ->add('email', EmailType::class, [
  11. 'label' => 'Adres email',
  12. 'invalid_message' => 'Taki email mamy już w bazie',
  13. 'constraints' => [
  14. new NotBlank([
  15. 'message' => 'Podaj adres email',
  16. ]),
  17. new Length([
  18. 'min' => 6,
  19. 'minMessage' => 'Twój email musi posiadać minimum {{ limit }} znaków',
  20. // max length allowed by Symfony for security reasons
  21. 'max' => 4096,
  22. ]),
  23. ],
  24. ]),
  25. ....

dane z innej encji wstrzykuję w taki sposób:

  1. public function __construct(ButRepository $butRepository)
  2. {
  3. $this->butRepository = $butRepository;
  4. }


Jeśli tylko wyświetlę dane to wszystko jest oki
  1. $butData = $this->butRepository->findAll();
  2. foreach($butData as $value ){
  3. echo $value->getButName() .'<br>';
  4. }


Ale jak zrobić z tego butName element formularza w FormBuilder?

Dobrze kombinuję czy całkiem zboczyłem- naprowadzicie mnie?

UPDATE

Aby nie wywalało błędów wystarczy wyłączyć mapowanie danych na encję user- wtedy błędy znikają i formBuilder wygeneruje prawidłowo formularz.