Php 如何在Symfony3表单中设置默认国家/地区?

Php 如何在Symfony3表单中设置默认国家/地区?,php,symfony,symfony-forms,Php,Symfony,Symfony Forms,我用的是Symfony3表格。我的Symfony表单生成器中有一个CountryType。它工作正常。但是假设用户属于一家总部位于西班牙的公司。对于该用户,我希望将默认国家设置为西班牙,然后显示其余国家。在Symfony3中如何执行此操作 我试过了,但没用 $builder->添加(“国家”,CountryType::类,数组)( “标签”=>“国家”, “必需”=>false, “首选_选项”=>数组( “ES”=>“西班牙”, ), )); 谢谢您的时间。在这种类型的Country::cl

我用的是Symfony3表格。我的Symfony表单生成器中有一个
CountryType
。它工作正常。但是假设用户属于一家总部位于西班牙的公司。对于该用户,我希望将默认国家设置为西班牙,然后显示其余国家。在Symfony3中如何执行此操作

我试过了,但没用

$builder->添加(“国家”,CountryType::类,数组)(
“标签”=>“国家”,
“必需”=>false,
“首选_选项”=>数组(
“ES”=>“西班牙”,
),
));

谢谢您的时间。

在这种类型的
Country::class
中,要使用阵列上的首选选项,您应该使用:

->add('country', CountryType::class, [
    'preferred_choices' => ['DE'],
    'label' => 'address.form.country.label',
    'attr' => [
        'class' => 'form-control',
        'placeholder' => 'address.form.country.placeholder'
    ],
    'label_attr' => [
        'class' => 'col-sm-2 col-form-label'
    ],
])

在该类型
Country::class
中,要在阵列上使用首选选项,应使用:

->add('country', CountryType::class, [
    'preferred_choices' => ['DE'],
    'label' => 'address.form.country.label',
    'attr' => [
        'class' => 'form-control',
        'placeholder' => 'address.form.country.placeholder'
    ],
    'label_attr' => [
        'class' => 'col-sm-2 col-form-label'
    ],
])

您可以使用
数据
选项设置默认国家/地区。

首选选项
会将国家/地区置于列表的顶部,但不会将其设置为默认的选定选项

应该这样做:

->add(
    'Country',
    CountryType::class,
    [
        'data'        => 'ES',
        'label'       => 'Country',
    ]
)

(使用Symfony 4和Symfony 5进行测试)

您可以使用
数据
选项设置默认国家/地区。

首选选项
会将国家/地区置于列表的顶部,但不会将其设置为默认的选定选项

应该这样做:

->add(
    'Country',
    CountryType::class,
    [
        'data'        => 'ES',
        'label'       => 'Country',
    ]
)

(使用Symfony 4和5进行测试)

投反对票的人是否会费心解释让你恼火的问题出了什么问题?投反对票的人是否会费心解释让你恼火的问题出了什么问题?