symfony - 如何在不影响现有数据的情况下将单值 ChoiceType 字段更改为多值字段?
问题描述
目前,我有一个Choicetype
具有单个值的表单字段。但现在我希望它是多值的。我multiple => true
为那个 FormType 添加了 , 但它给出了如下错误:
未捕获的 PHP 异常 Symfony\Component\Form\Exception\TransformationFailedException:“无法转换属性路径“[facebook_lead_id]”的值:需要一个数组。” 在 /app/vendor/symfony/form/Form.php 第 1087 行 {"exception":"[object] (Symfony\Component\Form\Exception\TransformationFailedException(code: 0): Unable to transform value for property path "[facebook_lead_id ]": 需要一个数组。在 /app/vendor/symfony/form/Form.php:1087, Symfony\Component\Form\Exception\TransformationFailedException(code: 0): 需要一个数组。在 /app/vendor/symfony/表单/扩展/核心/DataTransformer/ChoicesToValuesTransformer.php:42)"} []
关于如何在不影响现有数据的情况下将单值转换为多个值的任何想法。
解决方案
要实现您想要的多选,您必须将属性设置为multiple
和。expanded
true
$builder->add('fruits', ChoiceType::class, [
'multiple' => true,
'expanded' => true
'choices' => [
'bananas' => 1,
'apples' => 2,
'oranges' => false,
],
]);
详情在这里。
推荐阅读
- python - 如何使用向量表示通过聚类关键字对描述中的单词进行分组
- angular - 单击日期选择器时,单元格编辑器上的 Ag-grid Angular Material Datepicker 失去焦点
- django - Django URL 不呈现模板
- encoding - 对 URL 中的 Base64 持怀疑态度
- c++ - 如何改变一个CFiledialog的背景颜色(二)
- google-cloud-storage - 如何使用 CLI 设置 Google 云存储桶 (GCS) 文件对象过期时间 (TTL)
- spring-boot - JUnit mock mvc 响应体总是空的
- assembly - 为什么汇编中的随机数生成器为每个函数生成固定值
- html - 跨度不响应溢出-x:隐藏
- dart - 创建一个默认的 .toString() 方法