src/Form/Payment1Type.php line 54

Open in your IDE?
  1. <?php
  2. namespace App\Form;
  3. use App\Entity\City;
  4. use App\Entity\Country;
  5. use App\Entity\Payment;
  6. use App\Entity\PaymentMethod;
  7. use App\Entity\ShippingAmount;
  8. use App\Entity\Street;
  9. use Symfony\Component\Form\Extension\Core\Type\TextType;
  10. use Doctrine\ORM\EntityRepository;
  11. use Symfony\Component\Form\AbstractType;
  12. use Symfony\Component\Form\FormBuilderInterface;
  13. use Symfony\Bridge\Doctrine\Form\Type\EntityType;
  14. use Symfony\Component\OptionsResolver\OptionsResolver;
  15. use Symfony\Component\Form\Extension\Core\Type\ChoiceType;
  16. use Symfony\Component\Form\Extension\Core\Type\IntegerType;
  17. use Symfony\Component\Form\Extension\Core\Type\TextareaType;
  18. use Symfony\Component\Form\Extension\Core\Type\TextType as TypeTextType;
  19. class Payment1Type extends AbstractType
  20. {
  21.     public function buildForm(FormBuilderInterface $builder, array $options)
  22.     {
  23.         $builder
  24.             // ->add('amount',IntegerType::class)
  25.             // ->add('shippindAdress',ChoiceType::class,[
  26.             //     'choices'=>[
  27.             //         'In progress'=>'in progress',
  28.             //         'Canceled'=>'canceled',
  29.             //         'Waiting'=>'waiting'
  30.             //     ],
  31.             //     'attr'=>[
  32.             //         'value'=>'In progress'
  33.             //     ],
  34.             //     'mapped'=>false
  35.             // ])            
  36.             ->add('paymentMethod',EntityType::class,[
  37.                 'class'=>PaymentMethod::class,
  38.                 'choice_label'=>'name',
  39.                 'attr'=>[
  40.                     'required'=>true
  41.                 ]
  42.                 ])
  43.                 //  ->add('country',EntityType::class,[
  44.                 //     'class'=>Country::class,
  45.                 //     'choice_label'=>'name',
  46.                 //     'mapped'=>false,
  47.                 //     'label'=>false
  48.                 // ])
  49.                 ->add('city',EntityType::class,[
  50.                     'class'=>City::class,
  51.                     'query_builder'=>function(EntityRepository $entityRepository){
  52.                         return $entityRepository->createQueryBuilder('a')
  53.                         ->join('a.country''b')
  54.                         ->where("b.name = 'Sénégal' ");
  55.                     },
  56.                     'choice_label'=>'name',
  57.                     'mapped'=>false,
  58.                     'label'=>false
  59.                 ])
  60.                 ->add('street',EntityType::class,[
  61.                     'class'=>Street::class,
  62.                     'query_builder'=>function(EntityRepository $entityRepository){
  63.                         return $entityRepository->createQueryBuilder('a')
  64.                         ->join('a.city''b')
  65.                         ->where("b.name = 'Dakar' ");
  66.                     },
  67.                     'choice_label'=>'name',
  68.                     'mapped'=>false,
  69.                     'label'=>false
  70.                 ])               
  71.                 ;
  72.             // ->add('details',TextareaType::class,[
  73.             //     'attr'=>[
  74.             //     ],
  75.             //     'required'=>false
  76.             // ]);
  77.     }
  78.     public function configureOptions(OptionsResolver $resolver)
  79.     {
  80.         $resolver->setDefaults([
  81.             'data_class' => Payment::class,
  82.             'translation_domain'=>'forms',
  83.         ]);
  84.     }
  85. }