gpt4 book ai didi

php - Symfony:FormType、Entity、queryBuilder - 如何更改生成选项的值?

转载 作者:搜寻专家 更新时间:2023-10-31 21:28:03 25 4
gpt4 key购买 nike

我想添加字段 country (字符串) 到我的 Form\Type .

countryEntity\Country无关, 并且应该存储国家代码(en, it, fr, ...) 而不是实体的 ID。

我加载了 Entity\Country 的国家代码到我的表单,但生成的选择将实体的 ID 作为值,__toString() - 以文本形式返回。

如何设置 c.code作为 <option>值?

表单类型:

public function buildForm(FormBuilderInterface $builder, array $options) {
$builder->add('country', 'entity', array(
'class' => 'appBundle:Country',
'query_builder' => function (EntityRepository $er) {
return $er->createQueryBuilder('c')->orderBy('c.code', 'ASC');
}
));
}

生成的选择:

<select>
<option value="1">en</option>
<option value="2">it</option>
<option value="3">fr</option>
</select>

所需的选择:

<select>
<option value="en">en</option>
<option value="it">it</option>
<option value="fr">fr</option>
</select>

提前致谢!

最佳答案

如果您使用的是 symfony 2.7,请使用 entity 表单字段类型的 choice_label 选项。如果使用旧版本的 symfony,请使用 property 选项。更多信息:http://symfony.com/doc/current/reference/forms/types/entity.html

关于php - Symfony:FormType、Entity、queryBuilder - 如何更改生成选项的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33344631/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com