在symfony中将EntityType的Value设置为Placeholder选项

时间:2018-10-17 06:26:41

标签: php forms symfony drop-down-menu entity

我是symfony的初学者。 有什么办法可以在FormType的EntityType中为我的占位符设置值 我当前的表单类型是

$builder
    ->add('scheme', EntityType::class, array(
        'class' => 'AppBundle:Lottery\Masters\MasterScheme',
        'placeholder' => '-- Select Scheme --',
        'choice_label' => 'schemeName',
        'attr' => array(
            'class' => 'select'
        )
    )
);

当我检查下拉菜单时,占位符---Select Scheme--没有任何价值。有没有办法为占位符赋予价值? 希望我能找到解决方案

1 个答案:

答案 0 :(得分:1)

您要查找空值吗?因此,它将是下拉列表中的第一件事。然后你可以这样,

$builder->add('name', null, array(
    'required'   => false,
    'empty_data' => 'John Doe',
));

https://symfony.com/doc/current/reference/forms/types/entity.html#empty-data

如果您的意思是标签(下拉菜单旁边的文字),请使用

$builder->add('users', EntityType::class, array(
    'class' => User::class,
    'query_builder' => function (EntityRepository $er) {
        return $er->createQueryBuilder('u')
            ->orderBy('u.username', 'ASC');
    },
    'choice_label' => 'username',
));

https://symfony.com/doc/current/reference/forms/types/entity.html#using-a-custom-query-for-the-entities