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

[Symfony3] - Kolekcja formularzy, modyfikowanie danych

0 głosów
140 wizyt
pytanie zadane 23 lutego 2016 w PHP, Symfony, Zend przez elaen Gaduła (4,780 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,780 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

0 głosów
1 odpowiedź 56 wizyt
0 głosów
1 odpowiedź 300 wizyt
pytanie zadane 12 września 2016 w PHP, Symfony, Zend przez Abel Mądrala (5,180 p.)
Porady nie od parady
Możesz ukryć, zamknąć lub zmodyfikować swoje pytanie, za pomocą przycisków znajdujących się pod nim. Nie krępuj się poprawić pochopnie opublikowanego pytania czy zamknąć go po uzyskaniu satysfakcjonującej odpowiedzi. Umożliwi to zachowanie porządku na forum.Przyciski pytania

65,794 zapytań

112,440 odpowiedzi

237,547 komentarzy

46,729 pasjonatów

Przeglądających: 229
Pasjonatów: 11 Gości: 218

Motyw:

Akcja Pajacyk

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

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...