• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

[Symfony3] - Kolekcja formularzy, modyfikowanie danych

42 Warsaw Coding Academy
0 głosów
268 wizyt
pytanie zadane 23 lutego 2016 w PHP przez elaen Gaduła (4,760 p.)
edycja 29 lutego 2016 przez elaen

Witam,

Napisałem klase formularza w którym jest kilka pól w tym jedno z nich jest kolekcją innego formularza. Wszystkie pola oprócz kolekcji należą do jednej encji i są do niej wstawiane. Kolekcja ma ustawione mapped => false, aby nie uwzględniało jej do bazy danych.

Chciałbym zrobić dodawanie tych danych do 2 encji, a potem możliwość modyfikacji oby ich (aby dane zostały wstrzyknięte do tego forma)

Jak to zrobić.

Form główny:

    public function buildForm(FormBuilderInterface $builder, array $options = array())
    {
        $builder
            ->add('BeautyTableName', Typ\TextType::class, array(
            ))
            ->add('TableName', Typ\TextType::class, array(
            ))
            ->add('modulefield', Typ\CollectionType::class, array(
                'entry_type' => ModuleDefinitionType::class,
                'allow_add' => true,
                'allow_delete' => true,
                'attr' => array(
                    'class' => 'collection'
                ),
                'mapped' => false

            ));
            ->add('addField', Typ\ButtonType::class, array(
            ))
            ->add('Submit', Typ\SubmitType::class, array(
                'label' => 'Dodaj',
                'attr' => array(
                    'hidden' => true
                )
            ));
}

A to formularz z kolekcji

public function buildForm(FormBuilderInterface $builder,array $options){
				$builder->add('fieldName',Typ\TextType::class,array(
						))->add('fieldDBName',Typ\TextType::class,array(
						))->add('fieldType',Typ\ChoiceType::class,array(
						));

		}

 

1 odpowiedź

0 głosów
odpowiedź 29 lutego 2016 przez elaen Gaduła (4,760 p.)

Ktoś coś pomoże ?

Chodzi mi poprostu o to aby:

ten fragment:

->add('modulefield', Typ\CollectionType::class, array(
                'entry_type' => ModuleDefinitionType::class,
                'allow_add' => true,
                'allow_delete' => true,
                'attr' => array(
                    'class' => 'collection'
                ),
                'mapped' => false
 
            ));

Czyli w rzeczywistości kolkecja tego:

$builder->add('fieldName',Typ\TextType::class,array(
                        ))->add('fieldDBName',Typ\TextType::class,array(
                        ))->add('fieldType',Typ\ChoiceType::class,array(
                        ));

Zapisywała się do innej Tabeli:

Czyli mam 2 tabele

- 1 Modules Tu ma sie zapisać: BeautyTableName,TableName

- 2 ModulesFields a tu : fieldName,fieldDBName,fieldType, oraz ID Modułu tabeli numer 1 (tej wyżej, czyli którą właśnie tworzymy)

Podobne pytania

+1 głos
1 odpowiedź 217 wizyt
0 głosów
1 odpowiedź 282 wizyt
pytanie zadane 5 lutego 2019 w PHP przez Dr. Zawijas Użytkownik (610 p.)

93,382 zapytań

142,382 odpowiedzi

322,540 komentarzy

62,738 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

VMware Cloud PRO - przenieś swoją infrastrukturę IT do chmury
...