src/Form/ProjectCollegeSearchType.php line 28

Open in your IDE?
  1. <?php
  2. namespace App\Form;
  3. use Symfony\Component\Form\AbstractType;
  4. use Symfony\Component\Form\FormBuilderInterface;
  5. use Symfony\Component\Form\Extension\Core\Type\ChoiceType;
  6. use Symfony\Component\OptionsResolver\OptionsResolver;
  7. use Symfony\Bridge\Doctrine\Form\Type\EntityType;
  8. use Symfony\Component\Form\Extension\Core\Type\SubmitType;
  9. use Doctrine\ORM\EntityRepository;
  10. use App\Entity\Project;
  11. use App\Entity\Category;
  12. /**
  13.  *
  14.  * @author wendell.zheng <wxzheng@ustc.edu.cn>
  15.  */
  16. class ProjectCollegeSearchType extends AbstractType
  17. {
  18.     public function buildForm(FormBuilderInterface $builder, array $options)
  19.     {
  20.         $builder->add('category'EntityType::class, [
  21.             'label' => '类别',
  22.             'class' => Category::class,
  23.             'choice_label' => 'name',
  24.             'choice_value' => 'name',
  25.             'query_builder' => function (EntityRepository $er) use ($options) {
  26.                 return $er->queryByBatch($options['batch']);
  27.             },
  28.             'required' => false
  29.         ]);
  30.         $builder->add('status'ChoiceType::class, [
  31.             'label' => '状态',
  32.             'choices' => array_combine(Project::STATUSESProject::STATUSES),
  33.             'required' => false
  34.         ])
  35.             ->add('export'SubmitType::class, [
  36.             'label' => '导出汇总表'
  37.         ])
  38.             ->add('search'SubmitType::class, [
  39.             'label' => '搜索'
  40.         ]);
  41.     }
  42.     public function configureOptions(OptionsResolver $resolver)
  43.     {
  44.         $resolver->setDefaults([
  45.             'batch' => null,
  46.             'csrf_protection' => false
  47.         ]);
  48.     }
  49. }