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

时间:2016-03-02 06:58:15

标签: php symfony

我是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
    )));
}

我需要添加一个默认值,例如" General"以及" id"在addBreed订阅者中,它需要在formsubmission上进行验证。在此先感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

您可以添加以下数据'您配置表单的数组中的键:

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