Question:
Consider the following Order a form with so many requirements :
Title: [_________________] REQUIREMENTS: What sizes? [X] Small [X] Medium [_] Large What shapes? [_] Circle [X] Square [_] Triangle What colors? [X] Red [_] Green [X] Blue . . .
How can I generate and process a form in Symfony 3.2 ?
What I think:
[Order] ------ OneToMany ------ [Requirement] ------ OneToMany ------ [Selection]
OrderType
class OrderType extends AbstractType { public function buildForm(FormBuilderInterface $builder, array $options) { $form = $builder ->add('title', TextType::class, array()); ->add('requirements', CollectionType::class, array( 'entry_type' => RequirementType::class ) ) ->add('submit', SubmitType::class, array((); return $form; } }
Problem
I donβt know how to write RequirementType since they are not exactly the same ( size , , color , ...).
That's what I think:
RequirementType
class RequirementType extends AbstractType { public function buildForm(FormBuilderInterface $builder, array $options) { $form = $builder ->add(??????, EntityType::class, array( 'label' => ??????, 'expanded' => true, 'multiple' => true, 'class' => Selection::class, 'query_builder' => call_user_func(function (EntityRepository $er, $requirement) { return $er->createQueryBuilder('s') ->where('s.requirement = :requirement') ->setParameter('requirement', $requirement) },$em->getRepository($args['class']), $requirement); ) ); return $form; } }
source share