首页 文章

在Symfony2的表单类型中添加默认值和实体

提问于
浏览
1

我是一个全新的symfony2 . 我遇到了一个迄今为止我无法解决的情况 . 我的项目中有一个控制器,formtype和eventsubscriber . 表单通过绑定实体来构建 . 在这种情况下,对于特定实体,我需要在其中一个表单字段中添加默认值和ID . 我的表单类型是

$builder->add('breed', EntityType::class, array(
      'label' => 'Breed',
      'class' => 'AppBundle:Masters\Breed',
      'placeholder' => '----Select Breed----',
      'query_builder' => function (EntityRepository $er) {
          return $er->createQueryBuilder('b')
          ->orderBy('b.sortOrder', 'DESC');
      },
     'choice_label' => 'breed',
     ));
$builder->addEventSubscriber(new BreedSubscriber($factory));

我的活动订阅者是

private function addBreed($form, $breedmasterId) {
 $form->add($this->factory->createNamed('breed',EntityType::class,null, array(
  'class'         => 'AppBundle:Masters\Breed',
  'placeholder'   => '----Select Breed--------',
  'choice_label'  => 'breed',
  'required'      =>  TRUE,
  'mapped'        =>  false,
  'query_builder' => function (EntityRepository $repository) use ($breedmasterId) {
         $qb = $repository->createQueryBuilder('bm')
                ->where('bm.breed = :breedmasterId')
                 ->setParameter('breedmasterId', $breedmasterId);
                return $qb;
                },
                'auto_initialize' => false
    )));
}

我需要在addBreed订阅者中添加一个默认值,例如“General”和“id”,并且需要在formsubmission上进行验证 . 在此先感谢您的帮助 .

1 回答

  • 0

    您可以在配置表单的阵列中添加以下“数据”键:

    $builder->add('breed',null, array(
         'label' => 'Breed',
         'data' => 'Sih Tzu'
    ))
    

相关问题