src/Form/CourseType.php line 30

Open in your IDE?
  1. <?php
  2. namespace App\Form;
  3. use App\Entity\Course;
  4. use App\Entity\Domain;
  5. use App\Entity\Module;
  6. use App\Repository\DomainRepository;
  7. use App\Repository\ModuleRepository;
  8. use Symfony\Component\Form\AbstractType;
  9. use Symfony\Component\Form\FormBuilderInterface;
  10. use Symfony\Bridge\Doctrine\Form\Type\EntityType;
  11. use Symfony\Component\OptionsResolver\OptionsResolver;
  12. class CourseType extends AbstractType
  13. {
  14.     /**
  15.      * {@inheritdoc}
  16.      */
  17.     public function buildForm(FormBuilderInterface $builder, array $options)
  18.     {
  19.         $builder
  20.         
  21.             ->add('wording')
  22.             ->add('coefficient')
  23.             ->add('code')
  24.             ->add('domain'EntityType::class, array('class' => Domain::class, 'placeholder' => 'Département''required' => true,  'query_builder' => function (DomainRepository $repository)
  25.             {return $repository->createQueryBuilder('d')->add('orderBy''d.name');} ))
  26.             ->add('module',EntityType::class, array('class' => Module::class, 'placeholder' => 'Module de cours''required' => true,  'query_builder' => function (ModuleRepository $repository)
  27.             {return $repository->createQueryBuilder('m')->add('orderBy''m.room');} ))
  28.         ;
  29.     }
  30.     /**
  31.      * {@inheritdoc}
  32.      */
  33.     public function configureOptions(OptionsResolver $resolver)
  34.     {
  35.         $resolver->setDefaults(array(
  36.             'data_class' => Course::class,
  37.         ));
  38.     }
  39.     /**
  40.      * {@inheritdoc}
  41.      */
  42.     public function getName()
  43.     {
  44.         return 'course';
  45.     }
  46. }