我已经绞尽脑汁了,从2.7.x文档一直到3.2,我不明白他们为什么要删除choices_as_values
。这正是我所需要的。
此时,我得到了一个输入(不要问为什么),它有3个值,其中2个具有相同的名称/标签。这是客户想要的,经过多次讨论,我不得不同意。因此,我得到了以下内容:
然而,Symfony希望它这样接收:
Name => 1
Name => 2
Other Name => 3
你可以看到问题,结果数组将成为:
Name => 2
Other Name => 3
我会丢失一个值。那么,正确的方法是什么呢?我尝试了很多解决方案,没有一个有效。请记住,提交后的结果值必须仍然是1
,2
或3
。
1条答案
按热度按时间0g0grzrc1#
改变的原因是PHP只允许整数和字符串作为数组键,而实际的选择值可以是任意的PHP类型。通常,标签是唯一的,因为重复的键可能会让用户感到困惑,所以很容易将它们作为
choices
选项值的键。无论如何,如果需要复制标签,可以向choice_label传递一个回调函数,它将返回要显示的标签: