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
{ $builder ->add('username',TextType::class, [ 'label' => 'Imię' ]) ->add('sername',TextType::class, [ 'label' => 'Nazwisko' ]) ->add('email', EmailType::class, [ 'label' => 'Adres email', 'invalid_message' => 'Taki email mamy już w bazie', 'constraints' => [ new NotBlank([ 'message' => 'Podaj adres email', ]), new Length([ 'min' => 6, 'minMessage' => 'Twój email musi posiadać minimum {{ limit }} znaków', // max length allowed by Symfony for security reasons 'max' => 4096, ]), ], ]), ....
dane z innej encji wstrzykuję w taki sposób:
public function __construct(ButRepository $butRepository) { $this->butRepository = $butRepository; }
Jeśli tylko wyświetlę dane to wszystko jest oki
$butData = $this->butRepository->findAll(); foreach($butData as $value ){ }
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.